Msbuild 使用postsharp的项目在生成服务器上使用了错误的版本

Msbuild 使用postsharp的项目在生成服务器上使用了错误的版本,msbuild,tfsbuild,postsharp,Msbuild,Tfsbuild,Postsharp,我有一个多项目的解决方案。所有这些项目都在当地建设得很好。当我尝试使用我的TFS构建服务器构建它们时,一个项目会抛出一个错误: C:\Builds\24\Folder\SolutionName\Sources\Folder\ProjectName.csproj (0, 0) 未处理的异常(4.1.13.0,postsharp.4.0-x64.exe,CLR 4.0.30319.394256,版本):postsharp.Sdk.CodeModel.BindingException:加载类型“Und

我有一个多项目的解决方案。所有这些项目都在当地建设得很好。当我尝试使用我的TFS构建服务器构建它们时,一个项目会抛出一个错误:

C:\Builds\24\Folder\SolutionName\Sources\Folder\ProjectName.csproj (0, 0) 未处理的异常(4.1.13.0,postsharp.4.0-x64.exe,CLR 4.0.30319.394256,版本):postsharp.Sdk.CodeModel.BindingException:加载类型“UndoRedo.UndoableAttribute”时出错, .NameSpace.Of.The.Project,版本=5.5.0.0,区域性=中性, PublicKeyToken=c91567af84d23347”:System.IO.FileLoadException:可能 未加载文件或程序集的PostSharp,版本=2.1.0.0, 区域性=中性,PublicKeyToken=b13fd38b8f9c99d7'或其 依赖关系。定位程序集的清单定义不正确 匹配程序集引用。(来自HRESULT的异常:0x8013100)

问题是我不知道为什么它试图引用版本2.1.0.0,因为该项目使用的是PostSharp的版本4.1.13

我使用代理Ransack使用v2.1.0.0搜索任何内容,但没有显示任何内容。我已经检查了我的项目,它正在认真使用v4.1.13(通过NuGet)

欢迎任何提示或回答,谢谢


编辑:当设置x86或x64时,构建工作。在设置了AnyCPU配置时引发错误

由于此信息,AnyCPU配置集将引发错误。对于具有不同配置的多个项目的某些复杂解决方案,用于配置和平台的令牌必须与在解决方案属性或代码项目属性中设置的令牌匹配。


如果它们不匹配,则在生成完成时可能会遇到意外的结果。请检查此项。

问题是生成输出已经是注册到GAC的引用

在app.config/web.config文件中是否有PostSharp的绑定重定向?nuget依赖项是否依赖于PostSharp?如果是,在哪个版本上?我检查了绑定重定向,并尝试了使用和不使用。我还简化了项目,并尝试在构建服务器上的visual studio中构建它(就像它是开发人员客户端一样),这也会引发相同的错误