我有一个TFS 2008构建代理,该代理已用于构建.NET 3.5应用程序。我现在有一个.NET 4.0应用程序,我想在同一构建代理上编译。我已经确保在其中安装了MSBuild 4.0,并且还安装了所有必需的组件,但是我将获得以下内容 MSB4062 构建时错误:

Any CPU/Release] C:Program FilesMSBuildMicrosoftVisualStudiov10.0WebApplicationsMicrosoft.WebApplication.targets(244,5): error MSB4062: The "Microsoft.WebApplication.Build.Tasks.GetSilverlightItemsFromProperty"无法从汇编C: Program Files MSBUILD MICROSOFT VISUALSTUDIO V10.0 WebApplications Microsoft.webapplication.build.tasks.dll加载任务。无法加载文件或汇编'文件:/// 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作为我的解决方案?可以在单个团队项目上完成,以免影响在同一构建代理上构建的其他团队项目吗?

请注意,我已经检查了一个问题 构建失败 - TFS2008上的VS2010解决方案 这不是重复。

有帮助吗?

解决方案

是的。

这里 有关此的旧文章。

您需要将构建代理/服务器专用于此项目,并且需要将其重定向到MSBUILD 4.0。

  • 配置Team Build 2008使用MSBUILD 4.0而不是MSBUILD 3.5。要执行此编辑%programFiles% Microsoft Visual Studio 9.0 common7 id privateassemblies tfsbuildService.exe.config,并将MSBUILDPath属性设置为C: Windows Microsoft.net.net.net.net Framework Framework framework v4.0.30319。
  • 重新启动团队基金会建造服务。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top