失败构建,因为它找不到AL.exe(Failing Build because it can't find AL.exe)
这是一个有趣的问题,真的让我摸不着头脑。 我有一个正在TeamCity中构建的项目。 它一直工作正常,直到开发人员将资源文件添加到其中一个项目中,并为另一个语言环境添加了一些字符串。 他将.resx文件添加到默认文件旁边的Properties文件夹下。 这是构建日志中的错误消息:
C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(2105, 9): error MSB3091: Task failed because "AL.exe" was not found, or the correct Microsoft Windows SDK is not installed. The task is looking for "AL.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A. You may be able to solve the problem by doing one of the following: 1) Install the Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5. 2) Install Visual Studio 2008. 3) Manually set the above registry key to the correct location. 4) Pass the correct location into the "ToolPath" parameter of the task.
这里有很多我无法解决的问题。 - 为什么它可以找到默认.resx文件的AL.exe,但不能找到这个新文件? - 当构建在Server 2003上运行时,为什么它会查找看起来特定于Vista的注册表项?
有任何想法吗?
Here's an interesting problem that really has me scratching my head. I have a project that's being built in TeamCity. It's been working fine until a developer added a resource file to one of the projects with some strings for another locale. He's added the .resx file under the Properties folder next to the default one. Here's the error message from the build log:
C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(2105, 9): error MSB3091: Task failed because "AL.exe" was not found, or the correct Microsoft Windows SDK is not installed. The task is looking for "AL.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A. You may be able to solve the problem by doing one of the following: 1) Install the Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5. 2) Install Visual Studio 2008. 3) Manually set the above registry key to the correct location. 4) Pass the correct location into the "ToolPath" parameter of the task.
There are a number of things here that I can't work out. - How come it can find AL.exe for the default .resx file but not for this new one? - Why's it looking in a registry key that looks Vista-specific, when the build is running on Server 2003?
Any ideas?
原文:https://stackoverflow.com/questions/1492155
最满意答案
没有财产
System.getProperty("user.dir" +"/.."+"/InteractiveGame")
所以
src
和类似的dest
将是null
。我怀疑你的意思
System.getProperty("user.dir") +"/.."+"/InteractiveGame"
There is no property
System.getProperty("user.dir" +"/.."+"/InteractiveGame")
so
src
, and similarlydest
, are going to benull
.I suspect you mean
System.getProperty("user.dir") +"/.."+"/InteractiveGame"
相关问答
更多-
火和忘记方法(Fire and Forget approach)[2022-06-13]
它取决于你想要的语义。 如果你想确保例外被注意到,那么是的,你可以await任务。 但在这种情况下,它不是真正的“火和忘记”。 一个真正的“火与忘” - 从某种意义上讲,你不关心它何时完成,或者它是成功完成还是错误 - 是非常罕见的。 编辑: 为了处理异常: public static async void Forget(this Task task, params Type[] acceptableExceptions) { try { await task.ConfigureAwait( ... -
在继续中执行此操作: if (ca.Exception != null) { var ignoreTask = Task.Run(() => _logger.LogException(LogLevel.Error, ca.Exception.Message, ca.Exception)); } 您正在线程池线程上启动新任务而不是等待该任务。 将LogException代码块放在try catch块中以忽略引发的任何异常。 谢谢你,Soma。 In Continue with do this: if ...
-
最有可能出现的问题是因为您将两次相同的checkedData实例添加到SceneGraph中。 此代码生成相同的“重复子级”异常: PieChart pieChart = new PieChart(); Data data = new PieChart.Data("myData", 17.56); pieChart.getData().add(data); pieChart.getData().add(data); 虽然此代码有效: PieChart pieChart = new PieChar ...
-
调试时出现火灾或非异常(Fire or Not Exception on Debug)[2022-04-02]
只需将此行添加到catch块: if (System.Diagnostics.Debugger.IsAttached) throw; Just add this line to your catch block: if (System.Diagnostics.Debugger.IsAttached) throw; -
在你的堆栈跟踪中有2个例外。 最后一个简单地表明,当你尝试将它传递给Scene的构造函数时, root为null。 这是因为加载fxml失败。 这不是因为fxml url无效,而是因为在ImgListController.initialize方法中创建的Image的值不是作为构造函数参数的URL。 可能你传递了一个绝对的文件路径。 您可以使用File或Path类来获取文件的URL: File f = ... URL url = f.toURI().toURL(); Image img = new Image ...
-
回应@meltner,您正在关注当前版本的Fine Uploader的文档,并将其应用于非常旧版本的库。 从3.0版开始,API以多种方式发生了变化。 一个变化包括将所有回调移动到回调选项。 另一个包括从FileUploader到FineUploader的更改。 您使用的版本肯定是3.0之前的版本。 请考虑在http://fineuploader.com上升级。 Echoing @meltner, you are following documentation for a current version o ...
-
没有财产 System.getProperty("user.dir" +"/.."+"/InteractiveGame") 所以src和类似的dest将是null 。 我怀疑你的意思 System.getProperty("user.dir") +"/.."+"/InteractiveGame" There is no property System.getProperty("user.dir" +"/.."+"/InteractiveGame") so src, and similarly dest ...
-
首先检查源文件是否存在且可读 - if not (os.path.exists(file1) and os.access(file1, os.R_OK)): print "file1 does not exists or not readable" sys.exit(1) else: //good to go 然后使用try除块处理目标文件的写入。 First check if source file exists and readable - if not (os.path.exist ...
-
当Tab字符被粘贴到TextField时打破JavaFX(Breaking JavaFX when Tab character is pasted into TextField)[2023-05-23]
那很丑陋。 你应该报告这是一个错误。 你可以用一个TextFormatter解决这个问题,它可以过滤掉制表符(和换行符)。 您可能想要替换制表符,例如四个空格。 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.TextField; import javafx.scene.control.TextFormatter; import javafx.scene.control ... -
异常类复制构造函数(Exception class copy constructor)[2023-09-08]
在异常对象初始化之前,尚未抛出任何异常。 因此,系统尚未开始进行异常处理。 由于副本正在抛出,这就是异常对象的初始化,成功执行的唯一throw是复制构造函数中的throw 。 作为注释,如果更改了复制构造函数的throw X {}的throw表达式,那么它将终止。 由于无限递归,这实际上是堆栈溢出。 每次构建异常对象的尝试都会引发另一个异常,并引发另一个构造异常对象的尝试。 Until the exception object has been initialized, no exception has b ...