gpt4 book ai didi

versioning - Moq 文件版本和程序集版本不匹配,导致 TeamCity 出现问题?

转载 作者:行者123 更新时间:2023-12-02 08:58:41 25 4
gpt4 key购买 nike

第一次将 TeamCity 5.0.1 设置为运行单元测试时,我们看到以下错误:

Test(s) failed. System.IO.FileNotFoundException : Could not load file or assembly 'Moq, Version=3.1.416.3, Culture=neutral, PublicKeyToken=69f491c39445e920' or one of its dependencies. The system cannot find the file specified.



我们使用的是 Moq 3.1.416.3 版本,其 dll 的文件版本为 3.1.0.0

我们项目文件中的引用如下所示:



<提示路径>..\..\..\lib\binaries\thirdparty\Moq.dll


我们能够使用 ReSharper 在 Visual Studion 中运行我们的单元测试,也可以从 nunit GUI(在我们的开发人员机器和相关构建服务器上)运行我们的单元测试。

这里发生了什么?

最佳答案

这可能是由 NuGet 依赖项引起的。如果您执行 Rebuild All of your project 您可能会在编译单元测试项目时看到一个无害的警告,如下所示:

Consider app.config remapping of assembly "Moq, Culture=neutral, PublicKeyToken=69f491c39445e920" from Version "4.0.10827.0" [] to Version "4.1.1309.1617" [C:\XXX\packages\Moq.4.1.1309.1617\lib\net40\Moq.dll] to solve conflict and get rid of warning.

此警告可能不会停止在您的本地计算机上运行的单元测试,但它们很可能会阻止 TeamCity 运行它们。

您可以通过向单元测试程序集的 App.config 文件添加类似内容来消除警告并使 TeamCity 运行单元测试;
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Moq" publicKeyToken="69f491c39445e920" culture="neutral" />
<bindingRedirect oldVersion="4.0.10827.0" newVersion="4.1.1309.1617" />
</dependentAssembly>
</assemblyBinding>
</runtime>

...当然使用您遇到错误的适当版本号和实际安装的版本。

关于versioning - Moq 文件版本和程序集版本不匹配,导致 TeamCity 出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3006813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com