使用MSBUILD 构建时出错 error MSB3086: 任务未能使用 SdkToolsPath“”或注册表项“XXX”找到“LC.exe”,请确保已设置 SdkToolsPath。
如果项目有添加有WB引用,比如引用其它网站的WEB服务等,那么VS在编译时会自动生成个 [项目名称].Serializers.dll的文件,就是把引用服务中的相关对象信息生成硬编码的程序集,以提高效率。
但是,如果在远程服务器上使用msbuil构建时,服务器上如果没安装有winsdk,那么构建就会失败,出现类似这样的信息:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2428,5): error MSB3086: 任务未能使用 SdkToolsPath“”或注册表 项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86”找到“LC.exe”。请确保已设置 SdkToolsPath,在 SdkToolsPath 之下的相应处理器特定位置存在该工具。
解决办法是在在项目的属性设置窗口中把 Generate serialization assembly: 设置为 Off。