我有一个用于构建 .Net 3.5 应用程序的 TFS 2008 构建代理。我现在有一个 .Net 4.0 应用程序,我想在同一个构建代理上编译它。我已确保在那里安装了 MSBuild 4.0,并且还安装了所有必需的组件,但是MSB4062
在构建时出现以下错误:
[任何 CPU/版本] C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets(244,5):错误 MSB4062:“Microsoft.WebApplication.Build.Tasks.GetSilverlightItemsFromProperty”无法从程序集 C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.Build.Tasks.dll 加载任务。无法加载文件或程序集 'file:///C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.Build.Tasks.dll' 或其依赖项之一。此程序集由比当前加载的运行时更新的运行时构建,无法加载。确认声明正确,并且程序集及其所有依赖项都可用。
我假设我得到了这个,因为 TFSBuild.proj 由 MSBuild 3.5 执行,这反过来意味着我的解决方案是用 MSBuild 3.5 编译的。
我的诊断正确吗?有什么方法可以确保 TFS2008 将 MSBuild 4.0 用于我的解决方案?是否可以在单个团队项目上完成,这样它就不会影响在同一构建代理上构建的任何其他团队项目?
请注意,我已经检查了问题Build failed - VS2010 solution on TFS2008,这不是重复的。