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

Project using postsharp using wrong version on build server

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

C:\Builds\Folder\SolutionName\Sources\Folder\ProjectName.csproj (0, 0) Unhandled exception (4.1.13.0, postsharp.4.0-x64.exe, CLR 4.0.30319.394256, Release): PostSharp.Sdk.CodeModel.BindingException: Error while loading the type "UndoRedo.UndoableAttribute, The.NameSpace.Of.The.Project, Version=5.5.0.0, Culture=neutral, PublicKeyToken=c91567af84d23347": System.IO.FileLoadException: Could not load file or assembly 'PostSharp, Version=2.1.0.0, Culture=neutral, PublicKeyToken=b13fd38b8f9c99d7' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

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

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

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

编辑:构建在设置 x86 或 x64 时有效。 AnyCPU 配置集引发错误。

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

如果它们不匹配,您可能会在构建完成时遇到意外结果。请检查这个。

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