nUnit - 忽略DLL的GAC副本

Rya*_*yan 6 .net nunit gac

我正在使用nUnit对单元进行单元测试.

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

但是,旧版本也在GAC中,nUnit正在选择此版本.

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

编辑

两个版本的AssemblyVersion(以及强名称)都是固定的 - 它只是根据KB 556041更改的文件版本- 如何使用汇编版本和汇编文件版本

Mar*_*erl 1

您可以尝试<bindingRedirect>在 .config 文件中创建一个重定向到本地程序集,并且不使用 GAC 中安装的程序集。

当您针对强名称程序集构建 .NET Framework 应用程序时,即使有新版本可用,应用程序也会默认在运行时使用该版本的程序集。但是,您可以将应用程序配置为针对较新版本的程序集运行

...

<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>
Run Code Online (Sandbox Code Playgroud)

您可能也会对此感兴趣:

希望有帮助!

  • +1 作为一个很好的参考(虽然我知道绑定重定向),但这对我没有帮助,因为 GAC 中的版本具有相同的 AssemblyVersion (2认同)