我已经使用C#使用asp.net mvc编写了一个简单的测试应用程序。该应用程序使用MySQL
通过使用dblinq生成到MySQL文件的linq,该应用程序在Windows和Linux中均可正常工作。
我现在开始使用NUnit来测试我的代码,主要是因为我需要测试代码是否在
Windows也将在linux中工作。
我的NUnit测试在Windows下运行良好,但在Linux下运行不佳。
这是我的Windows环境:
NUnit版本2.5.1.9189版权(C)
2002-2009查理·普尔(Charlie Poole)。版权(C)
2002-2004年James W.Newkirk,Michael C.
版权所有(C)2000-2002 Philip Craig。
版权所有。
运行时环境-操作系统版本:
Microsoft Windows NT 5.1.2600服务
CLR版本:2.0.50727.3053(Net
2.0.50727.3053)
这是我的Linux环境,出现错误(库是我的应用程序名称):
NUnit版本2.4.8版权(C)
2002-2007查理·普尔(Charlie Poole)。版权(C)
2002-2004年James W.Newkirk,Michael C.
第二,Alexei A. Vorontsov。版权
(C)2000-2002 Philip Craig。保留所有权利
保留。
运行时环境-操作系统版本:
Unix 2.6.24.24 CLR版本:
1.1.4322.2032(Mono 2.4.2.2)
**(/usr/local/lib/mono/1.0/nunit-console.exe:4888):
警告**:班级
System.ComponentModel.INotifyPropertyChanged
无法加载,无法在系统中使用,
版本= 2.0.0.0,文化=中性,
PublicKeyToken = b77a5c561934e089文件
或程序集名称Library.Tests,
版本= 1.0.0.0,文化=中性,
PublicKeyToken = null,或其其中之一
依赖项,未找到。
我不知道自己在做什么错。你有什么建议吗?似乎我需要包含System.ComponentModel.INotifyPropertyChanged,我已经搜索过
在互联网上查看它是否以单声道实现,但我找不到任何信息。
谢谢
最佳答案
您已经以某种方式启动了1.1 CLR-注意“ CLR版本:1.1.4322.2032(Mono 2.4.2.2)”
我不确定您是如何做到的,但是我很确定这就是问题所在……您到底在运行NUnit吗?我怀疑问题是您使用的是根据.NET 1.1编译的NUnit版本,因此Mono决定加载自己的CLR v1.1。假设您要显式调用mono
二进制文件,请尝试指定--runtime
参数,如下所示:
mono --runtime=2.0.50727 (whatever you previously had here)
编辑:要找出您拥有的运行时版本,请尝试以下Test.cs文件:
using System;
class Test
{
static void Main()
{
Console.WriteLine(Environment.Version);
}
}
然后编译并运行它:
$ gmcs Test.cs
$ mono Test.exe
2.0.50727.1433
您从底部得到什么版本?
关于c# - Nunit .net与Mono,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1178058/