代码在VS(2017)中构建良好但不是msbuild或TFS"程序集清单与程序集引用不匹配

时间:2018-05-05 01:10:39

标签: msbuild visual-studio-2017 nuget tfsbuild

好的 - 我们再来一次。我发布了一个几乎相同的问题here,但这个问题有点不同。我刚刚生成了一个新版本的NuGet包并更新了我们所有的csproj和配置文件以指向它并且它在本地构建很好,但是当我启动TFS构建时它失败并显示消息:

  

## [错误] ASPNETCOMPILER(0,0):错误ASPCONFIG:无法加载文件或程序集' PacsgearLib,Version = 2.5.4.0,Culture = neutral,   公钥= 05b30ac9ab9dbb8e'或其中一个依赖项。该   定位程序集的清单定义与程序集不匹配   参考。 (HRESULT异常:0x80131040)

Pacsgearlib 2.5.4是我刚刚生成的NuGet包,但我们所有其他项目都构建良好(并且它们共享许多相同的代码)。主要区别在于该项目中有一个网站。 MSBuild是版本15.5.180.51428。

这是实际错误的图片:

enter image description here

这里有什么想法吗?我已经尝试过NuGet包管理器卸载软件包并重新安装到网站上并且没有帮助。

我已经在这里待了几个小时,所以我想也许其他人(或第二组眼睛)可能有所帮助。

我也刚刚看到this,并会在星期一早上检查出来。

2 个答案:

答案 0 :(得分:0)

如果本地构建正常,则TFS构建存在错误。此外,我们所有其他项目都构建良好(并且它们共享许多相同的代码)。

与两者结合使用时,问题可能与构建代理上的特定包PacsgearLib, Version=2.5.4.0有关。您可以尝试删除软件包并清理构建代理,然后重试。

另一种方法是更新您的软件包版本号(不要更新软件包内容),再次使用TFS触发构建。检查TFS构建服务器是否会获取最新版本的软件包。

还要将system.debug=true设置为Enable Verbose Debug Mode,并提供更详细的日志信息以进行问题排查

答案 1 :(得分:0)

我终于通过取出web.config的assemblybinding部分(其他人建议在另一个相关帖子中)来解决这个问题,我还发现了一些没有正确更新但仍然指向的.csproj文件2.5.3。