6

问题如下:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2863,5): error MSB3086: Task could not find "AL.exe" using the SdkToolsPath "" or the registry key "HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86"。确保设置了 SdkToolsPath,并且该工具存在于 SdkToolsPath 下的正确处理器特定位置,并且安装了 Microsoft Windows SDK

我尝试了在网上找到的各种费力的解决方案,但最后我设法解决了这个问题:

  1. C:\Windows\Microsoft.NET\Framework\v4.0.30319\
  2. 使用文本编辑器打开文件Microsoft.Common.targets
  3. "al.exe"在步骤 2 的文件中搜索,并将"ToolPath""ToolExe"字段替换为文件的实际路径"al.exe"

我已通过以下方式在步骤 3 中设置了两个字段:

ToolPath="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\" ToolExe ="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin \NETFX 4.0 工具\al.exe"

谢谢。

4

2 回答 2

2

您应该在 MSBuild 调用之前注册变量:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\vsvars32.bat

我使用psake,它会自动注册 vars。

替代解决方案 - 添加参数:

msbuild.exe "/p:TargetFrameworkSDKToolsDirectory=C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools"
于 2017-02-09T12:59:04.357 回答
0

您需要检查 msbuild.exe 的路径

我通过将路径从“C:\Windows\Microsoft.NET\Framework64\v4.0.30319”更改为“C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin”解决了同样的问题"

于 2019-08-09T05:40:03.603 回答