在构建服务器上使用错误版本的postharp项目

时间:2016-01-14 09:25:24

标签: msbuild tfsbuild postsharp

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

  

C:\构建\ 24 \文件夹\解决方案名称\源头\文件夹\ ProjectName.csproj   (0,0)       未处理的异常(4.1.13.0,postsharp.4.0-x64.exe,CLR 4.0.30319.394256,Release):PostSharp.Sdk.CodeModel.BindingException:加载类型“UndoRedo.UndoableAttribute时出错,   The.NameSpace.Of.The.Project,Version = 5.5.0.0,Culture = neutral,   PublicKeyToken = c91567af84d23347“:System.IO.FileLoadException:可以   不加载文件或程序集'PostSharp,Version = 2.1.0.0,   Culture = neutral,PublicKeyToken = b13fd38b8f9c99d7'或其中一个   依赖。定位程序集的清单定义没有   匹配程序集引用。 (HRESULT异常:0x80131040)

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

我使用代理Ransack使用v2.1.0.0搜索任何内容,但没有显示任何内容。我检查了我的项目,并且认真使用v4.1.13(Via NuGet)。

非常欢迎任何提示或答案,谢谢。

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

2 个答案:

答案 0 :(得分:0)

由于此信息The error is thrown with AnyCPU configuration set.对于具有多个具有不同配置的项目的复杂解决方案,用于配置和平台的令牌必须与在解决方案属性或代码项目属性中设置的令牌匹配。 enter image description here

如果它们不匹配,则在构建完成后可能会遇到意外结果。请检查一下。

答案 1 :(得分:0)

问题是构建输出已经是GAC注册的引用。