每当我实例化一个新的HttpClient时,我都会遇到运行时异常。它编译没有问题,没有什么能告诉我我做错了什么。我已经在网上完成了一些研究,发现这可能是一个有约束力的重定向问题,但对于如何解决或确认这仍然是问题(该建议已有几年)并不是很清楚。无法解决这个问题使我的发展停滞不前:/
我已经为这个问题发生了一个可重复的例子。
我为iOS和Android创建了一个新的Xamarin.Forms项目。
然后我使用nunit测试框架创建一个新的Unit Test项目。
我的解决方案现在看起来像这样:
我将Microsoft.Net.Http
NuGet包添加到Xamarin.Forms PCL项目和我的NUnit测试项目中。
创建一个名为WebRequest
的新类,它实例化一个新的HttpClient
。然后我编写单元测试,只是实例化一个新的WebRequest
对象。
此时我的项目结构
我运行单元测试并收到以下运行时异常。
System.IO.FileNotFoundException:无法加载文件或程序集&System; Net.Net.Http,Version = 1.5.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖。
在/Tesers/johnathonsullinger/Source/Temp/TestHttpRequests/UnitTests/Test.cs:13中的UnitTests.Test.TestCase()[0x00001] at(wrapper managed-to-native)System.Reflection.MonoMethod:InternalInvoke(System.Reflection.MonoMethod,object,object [],System.Exception&) at System.Reflection.MonoMethod.Invoke(System.Object obj,BindingFlags invokeAttr,System.Reflection.Binder binder,System.Object [] parameters,System.Globalization.CultureInfo culture)[0x00038] in / private / tmp / source-mono -4.4.0 / bockbuild-mono-4.4.0-branch / profiles / mono-mac-xamarin / build-root / mono-x86 / mcs / class / corlib / System.Reflection / MonoMethod.cs:295
为什么这是运行时问题而不是编译时问题?我该如何解决这个问题?我刚刚安装了OS X全新版本,这是一个全新安装的Xamarin Studio 6.0(来自alpha频道的最新版本),我的所有软件包都是最新的。