0

我正在使用 MVVMCross 和 Mono 与 VisualStudio 2012 和 Xamarin 的稳定版来构建我的 PCL 核心库。我有以下编译错误。

错误 3“System.Net.WebHeaderCollection”不包含“Add”的定义,并且找不到接受“System.Net.WebHeaderCollection”类型的第一个参数的扩展方法“Add”(您是否缺少 using 指令或装配参考?)

当尝试这样做时:

string address = "http://www.test.com/;

            HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;  
            request.Method = "GET";
            request.Accept = "application/json";
            request.Headers.Add(HttpRequestHeader.Cookie, "customcookie");

HttpWebRequest 被很好地引用。

NB 相同的代码在 Mac 上的 Xamarin Studio 中工作。

4

2 回答 2

3

PCLSystem.Net堆栈是可移植的——这意味着它的功能并不完整。

对于 PCL .Net 堆栈中的 cookie,我相信您可以设置CookieCollectionon a Request,然后您可以检查Cookieson aResponse

如果这对您来说还不够,那么您将不得不使用某种“注入”技术来在每个平台上实现您想要的功能 - 例如,您可以在 mvvmcross 中使用插件


我认为您可能缺少的一件事是当前 xamarin 没有正确构建 PCL - 这即将改变,但现在 xamarin 构建 PCL 反对其完整的 monotouch 或 monodroid 堆栈。因此,xamarin 可能会错误地报告 pcl 功能可用性 - 并且基于 xamarin 构建的 PCL 肯定不可移植 - 请参阅http://slodge.blogspot.co.uk/2013/01/almost-portable-binaries.html

于 2013-05-24T19:27:34.727 回答
0

我有最新的 mvvmcross 和 Xamarin。当我尝试设置 request.CookieContainer 时出现异常。在这里和这里的Xamarin bugzilla中描述

于 2013-11-24T03:09:15.430 回答