【问题标题】:Xamarin: System.Net.Http does not work in unit tests, but works on deviceXamarin:System.Net.Http 在单元测试中不起作用,但在设备上起作用
【发布时间】:2014-11-16 14:25:03
【问题描述】:

我在 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,但不幸的是这并不能解决问题。有什么想法吗?

【问题讨论】:

  • 你解决了这个问题吗,因为我现在也有同样的问题。

标签: .net xamarin system.net


【解决方案1】:

它正在尝试查找该程序集但无法加载它。

检查事项:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2022-11-07
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多