gpt4 book ai didi

.net - nUnit - 忽略 DLL 的 GAC 副本

转载 作者:行者123 更新时间:2023-12-04 16:02:21 25 4
gpt4 key购买 nike

我正在使用 nUnit 来对程序集进行单元测试。

程序集位于我的项目输出目录 (\bin\debug) 中,并从此位置加载到 nUnit(程序集 > 添加程序集)中。

然而,GAC 中也有一个旧版本,而 nUnit 正在选择这个版本。

我当然可以删除旧版本并在构建时重新安装到 GAC 但这需要一些时间 - 有什么方法可以强制 nUnit(或更可能是 .NET 框架)从 bin\debug 目录中获取版本?

编辑

两个版本的 AssemblyVersion(以及强名称)都是固定的——它只是按照 KB 556041 - How to use Assembly Version and Assembly File Version 更改的文件版本

最佳答案

你可以试着做一个 <bindingRedirect> 在 .config 文件中重定向到本地程序集,而不使用安装在 GAC 中的程序集。

When you build a .NET Framework application against a strong-named assembly, the application uses that version of the assembly at run time by default, even if a new version is available. However, you can configure the application to run against a newer version of the assembly

...

<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity
name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<bindingRedirect
oldVersion="1.0.0.0"
newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>


这对您来说也可能很有趣:
  • MSDN: How the Runtime Locates Assemblies

  • 希望有帮助!

    关于.net - nUnit - 忽略 DLL 的 GAC 副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3751224/

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