繁体   English   中英

如何配置C#项目以使用Windows SDK 7.1工具进行构建?

[英]How do you configure C# projects to build using Windows SDK 7.1 tools?

我们正在尝试将许多项目切换为使用SDK7.1。 对于C ++项目,这似乎非常简单,您可以将项目设置中的“平台工具集”属性更改为“ Windows7.1SDK”,一切都很好。

但是,对于C#项目(如果将生成的输出置于诊断模式),我们可以看到各种工具(例如sgen,resgen,LC)都在先前的SDK 7.0A目录中运行。 或者,在我们安装了Vistual Studio 2012的某些计算机上,其中一些工具来自v8.0A SDK文件夹。

工具和它们产生的组件之间的不匹配似乎导致了各种错误,例如:

LC : error LC0000: 'Could not load file or assembly
'S:\Libraries\Bin\Release\Some.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.'

看来我们可以编辑.csproj文件并且几乎是即席编辑的,并且BeforeBuild等目标可以重新定义各种SDKPath属性。 这似乎迫使使用正确的工具。 但是,如果感觉很“ hacky”。 而且我们仍然必须缺少一些设置,因为我们仍然会遇到一些错误。

另外,我们发现,我们可以在这里更改注册表值:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\SDK40ToolsPath

指向正确的SDK。 但是,必须修改环境以支持此操作是错误的。 我们希望构建产品的旧版本,并且必须切换环境以实现此目的,这很丑陋且容易出错。

有官方的方法吗?

谢谢。

PS我发现了这个问题http://social.msdn.microsoft.com/Forums/en-MY/windowssdk/thread/ebc8914f-d4b5-44e7-8c76-10332d155812 ,发帖人似乎在问类似的事情,但是,问题似乎没有得到答案。

以下两篇文章讨论定义自定义工具集。 也许需要为7.1 SDK定义这些需求之一,然后可以直接使用MSBuild。

http://msdn.microsoft.com/en-us/library/bb383796(v=vs.110).aspx http://msdn.microsoft.com/en-us/library/bb397428.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM