当我进行需要System.Xml或System.Xml.Linq命名空间的单元测试时,运行测试时出现以下错误:
System.IO.FileNotFoundException:可以 不加载文件或程序集 'System.Xml.Linq,版本= 2.0.5.0, 文化=中性, PublicKeyToken = 31bf3856ad364e35'或 其中一个依赖。
我已经验证的事情:
我是一个受测试驱动的人,所以我迫不及待地想让这个工作变得有效,所以我可以继续使用我的应用程序。
提前致谢。
答案 0 :(得分:2)
您需要添加monotouch在单元测试项目的引用中使用的相同dll(程序集)。
可在/ Developer / MonoTouch / usr / lib / mono //...
中找到例如,我需要使用System.Xml,因此我编辑了测试项目的引用并添加了以下程序集:
/Developer/MonoTouch/user/lib/mono/2.1/System.Xml.dll
还有一个用于system.xml.linq,这些是你需要的正确版本(2.0.5.0)
答案 1 :(得分:0)
可能Mono没有在它看起来的地方找到所需的库。默认情况下,NUnit会尝试将测试库复制到其他位置,因此找不到全局可见的库(GAC中安装的那些系统库)。不确定是否可以在Monodevelop中设置NUnit的选项,不要复制被测试的库以避免问题。 一种可能性是运行独立的NUnit Console运行器,您可以在其中设置选项或为NUnit提供更多信息以使其复制更多内容,但由于必须使NUnit使用正确的配置文件(Monotouch基于Silverlight),这很复杂。 p>