C# 在为.NET 4生成期间未找到LC.exe文件

C# 在为.NET 4生成期间未找到LC.exe文件,c#,C#,我在迁移到.NET4.0时遇到问题,在尝试构建时出现以下错误 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1917,9): error MSB3086: Task could not find "LC.exe" using the SdkToolsPath "" or the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Mic

我在迁移到.NET4.0时遇到问题,在尝试构建时出现以下错误

 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1917,9): 
  error MSB3086: Task could not find "LC.exe" using the SdkToolsPath "" or the 
  registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A".

 Make sure the SdkToolsPath is set and the tool exists in the correct processor 
 specific location under the SdkToolsPath and that the Microsoft Windows SDK is
 installed 

 External Program Failed: C:\windows\microsoft.net\framework\v4.0.30319\MSBuild.exe
 (return code was 1)
计算机上安装了最新版本的microsoft windows sdk,但版本为v7.1。为了解决这个问题,我将注册表项放在以下位置

   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\InstallationFolder 
 to C:\Program Files\Microsoft SDKs\Windows\v7.1\. 
这是可行的,但是我觉得把7.0A注册表项指向7.1安装有点脏。有谁能更好地解决这个问题吗?

看看:

其中一个答案建议将SDK的默认版本设置为7.1。Windows SDK的7.1版本比Visual Studio 2010附带的7.0a版本更新。LC.exe包含在7.1中,一旦您使用WindowsSdkVer.exe使7.1成为默认版本,一切都会正常运行

但有两个小怪癖: 1) WindowsSdkVer.exe允许您从VS 2005和VS 2008中进行选择,但它不列出VS 2010。我只是为VS2008设置了默认版本,它在2010年起作用


2) WindowsSdkVer.exe-版本:v7.1对我不起作用,但WindowsSdkVer.exe在没有任何参数的情况下起作用,它打开了一个windows界面。

我刚刚遇到这个问题,这是因为我们的构建服务器使用VS 2010进行构建,我在VS 2015中打开并修改了我的解决方案

.sln文件的头来自:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

显然,这足以让tfs(2010和使用VisualStudio2010)想要寻找sdk工具的更高版本(在本例中为v8.0A,未安装)


将*.sln文件中的标题设置回VS 2010版本解决了我的问题。

可能与我遇到的问题相同。网络上有很多解决办法,但我也找不到解决办法。在安装VS 2010之后安装Windows SDK 7.1版时,似乎不会更新相应的路径以指向新目录。
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1