Xamarin:System.Net.Http在单元测试中不起作用,但适用于设备

时间:2014-11-16 14:25:03

标签: .net xamarin system.net

我在OSX Yosemite中运行Xamarin。

我的问题是,在编写单元测试时,我无法使System.Net.Http工作。

要复制,可以创建一个非常简单的测试类:

using NUnit.Framework;
using System.Net.Http;
using ModernHttpClient

namespace testclass
{
    [TestFixture ()]
    public class Test
    {
        [Test ()]
        public void TestCase ()
        {
            var client = new HttpClient (new NativeMessageHandler());
        }
    }
}

运行这个总是产生:

System.IO.FileNotFoundException: Could not load File or Assembly 'System.Net.Http, Version=1.5.0.0, Culture=neutral, PublicKeytoken=b03f5f7f11d50a3a' or one of its dependencies.

但是,在Android应用中插入相同的代码行就可以了。

我已经尝试完全删除并重新安装Xamarin,但不幸的是,这并没有解决问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

它试图找到该程序集但无法加载它。

要检查的事项:

在单元测试项目中,确保引用与有效的项目完全相同。

对于System.Net.Http引用,右键单击它并检查特定版本= false

还可以查看GAC C:\ Windows \ Assembly并找到该DLL,右键单击并检查它是哪个版本,并且它与消息中的版本匹配。

如果之后没有进一步的进展,最好删除并读取单元测试项目中的引用,然后关闭.Net IDE并重新打开。

检查单元测试项目的引用路径是否正常,并且它包含1.5.0.0版本的程序集。