dav*_*ase 5 .net msbuild team-build visual-studio-2010
我们有一个在Visual Studio 2010中运行的ASP.Net Web应用程序,目标是.Net 3.5.它是由TFS 2010构建的.这个Web应用程序有几个Web引用,因此构建会创建一个相关的XmlSerializers DLL.但是,此DLL是.Net 4.0程序集.
当我从构建运行此Web应用程序时,我收到错误:
无法加载文件或程序集"BLAH_BLAH_WEB_APPLICATION_NAME.XmlSerializers"或其中一个依赖项.此程序集由比当前加载的运行时更新的运行时构建,无法加载.
我们正在使用在TFS 2008下工作的msbuild .proj文件(使用构建定义中的"升级模板").我看到了这个问题,而这一个,但使用特定的SGEN生成步骤那些提.我们不是.此外,建议的解决方案涉及硬编码7.0A SGen的路径,这只是......丑陋.
有没有办法强制TFS 2010构建将此XmlSerializers DLL编译为.Net 3.5程序集?
根本问题是注册表中的值无效。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0 下的 SDK35ToolsPath 值为:
$(注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx35Tools-x86@InstallationFolder)
但是,构建服务器的 Windows SDK 版本为 7.1。因此,我将值更正为:
$(注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDKNetFx35Tools@InstallationFolder)
然后 XmlSerializers DLL 现在使用 .Net 2.0。
| 归档时间: |
|
| 查看次数: |
2990 次 |
| 最近记录: |