无法在WindowsServer 2008中运行Nunit

时间:2016-03-27 23:49:13

标签: c# unit-testing nunit environment-variables windows-server-2008

使用Nunit运行单元测试时,我遇到了Windows Server 2008的问题。

基本上,在Windows 7机器中,我可以按照以下步骤执行单元测试:

  1. 我打开VS10命令提示符
  2. 我执行bat脚本以添加到PATH环境。变量,一些其他文件夹,其中我的程序集(包含unit-tets)可以在运行时找到所需的其他DLL。我的程序集不在同一文件夹中,其中放置了一些必需的DLL。
  3. 我运行nunit-console(2.6.4),它能够执行我的程序集中包含的单元测试。
  4. 在Windows Server计算机(2008 r2)中,我按照上面列出的步骤操作,但我无法运行单元测试,因为Windows似乎没有从我配置的其他文件夹中加载所需的DLL在PATH env变量中。 我还尝试全局更改PATH env变量以添加其他文件夹,但是当执行nunit-console时,似乎没有从PATH加载所需的DLL。

    您是否了解Windows Server中的某些限制? 你知道任何解决方法吗?

    提前致谢。

    更新: 正如Charlie在下面所建议的那样,我验证了只有未管理的程序集才能从PATH上指定的文件夹中加载。非常感谢你澄清这一点。

    顺便说一句,我仍然无法理解为什么在WindowsServer中我无法运行单元测试:执行运行时:net-3.5无法加载文件或程序集' MyAPP,版本= 3.212.1002.1,Culture = neutral,PublicKeyToken = 2a91ab2fd56d8420'或其中一个依赖项。系统找不到指定的文件

1 个答案:

答案 0 :(得分:0)

如果要引用的程序集是托管程序集,则将该位置添加到路径不起作用。该路径不用于加载托管程序集。引用的程序集必须位于ApplicationBase中或已配置的其他ProbingPath上。

硬币的另一面是使用路径找到托管程序集引用的任何非托管程序集。