首页 \ 问答 \ 失败构建,因为它找不到AL.exe(Failing Build because it can't find AL.exe)

失败构建,因为它找不到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
更新时间:2022-06-23 19:06

最满意答案

没有财产

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, are going to be null.

I suspect you mean

System.getProperty("user.dir") +"/.."+"/InteractiveGame"

相关问答

更多
  • 它取决于你想要的语义。 如果你想确保例外被注意到,那么是的,你可以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 ...
  • 只需将此行添加到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 ...
  • 那很丑陋。 你应该报告这是一个错误。 你可以用一个TextFormatter解决这个问题,它可以过滤掉制表符(和换行符)。 您可能想要替换制表符,例如四个空格。 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.TextField; import javafx.scene.control.TextFormatter; import javafx.scene.control ...
  • 在异常对象初始化之前,尚未抛出任何异常。 因此,系统尚未开始进行异常处理。 由于副本正在抛出,这就是异常对象的初始化,成功执行的唯一throw是复制构造函数中的throw 。 作为注释,如果更改了复制构造函数的throw X {}的throw表达式,那么它将终止。 由于无限递归,这实际上是堆栈溢出。 每次构建异常对象的尝试都会引发另一个异常,并引发另一个构造异常对象的尝试。 Until the exception object has been initialized, no exception has b ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。