找不到任务 "LC.exe"
Task could not find "LC.exe"
我知道 Whosebug 上有几个问题可以解决这个问题 - 这是我的变体...
构建服务器:Windows Server 2012,使用 Jenkins
WindowsSDK:8.1(最新)
编译配置:x64 调试
当我向项目添加一些 DevExpress dll 时,就开始出现这种情况。它在我的机器上编译得很好,但在 MSBuild 下失败。错误消息中的 SdkToolsPath 为空 - 我们已将其设置为 lc.exe 的位置(在 bin\x64 目录中)作为环境变量,但无济于事。
有什么建议吗?
更新: 根据我在另一个 post 上看到的建议,我将 /v:diag 标志添加到 MSBuild。看起来,尽管有相反的含义,MSBuild 是 看到环境变量。我正在使用 64 位版本的 MSBuild 进行编译,因此我认为我需要 64 位版本的 lc.exe,因此我选择了路径。我不是构建服务器的管理员,所以我有点不愿意开始要求修改注册表 - 这是让它工作所需要的吗?
所以我的管理员找到了答案:这需要向注册表添加密钥,但不是根据错误 message.The 中列出的内容设置如下:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A]
"InstallationFolder"="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\"
"ProductVersion"="8.1.51641"
"ProductName"="Microsoft .NET Framework 4.5.1 SDK"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools]
"ProductVersion"="8.1.51641"
"ComponentName"="Microsoft .NET Framework 4.5.1 SDK"
"InstallationFolder"="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x64]
"ProductVersion"="8.1.51641"
"ComponentName"="Microsoft .NET Framework 4.5.1 SDK"
"InstallationFolder"="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86]
"ProductVersion"="8.1.51641"
"ComponentName"="Microsoft .NET Framework 4.5.1 SDK"
"InstallationFolder"="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\"
我知道 Whosebug 上有几个问题可以解决这个问题 - 这是我的变体...
构建服务器:Windows Server 2012,使用 Jenkins
WindowsSDK:8.1(最新)
编译配置:x64 调试
当我向项目添加一些 DevExpress dll 时,就开始出现这种情况。它在我的机器上编译得很好,但在 MSBuild 下失败。错误消息中的 SdkToolsPath 为空 - 我们已将其设置为 lc.exe 的位置(在 bin\x64 目录中)作为环境变量,但无济于事。
有什么建议吗?
更新: 根据我在另一个 post 上看到的建议,我将 /v:diag 标志添加到 MSBuild。看起来,尽管有相反的含义,MSBuild 是 看到环境变量。我正在使用 64 位版本的 MSBuild 进行编译,因此我认为我需要 64 位版本的 lc.exe,因此我选择了路径。我不是构建服务器的管理员,所以我有点不愿意开始要求修改注册表 - 这是让它工作所需要的吗?
所以我的管理员找到了答案:这需要向注册表添加密钥,但不是根据错误 message.The 中列出的内容设置如下:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A]
"InstallationFolder"="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\"
"ProductVersion"="8.1.51641"
"ProductName"="Microsoft .NET Framework 4.5.1 SDK"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools]
"ProductVersion"="8.1.51641"
"ComponentName"="Microsoft .NET Framework 4.5.1 SDK"
"InstallationFolder"="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x64]
"ProductVersion"="8.1.51641"
"ComponentName"="Microsoft .NET Framework 4.5.1 SDK"
"InstallationFolder"="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86]
"ProductVersion"="8.1.51641"
"ComponentName"="Microsoft .NET Framework 4.5.1 SDK"
"InstallationFolder"="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\"