为什么WebClient无法解决?

时间:2015-01-10 00:22:56

标签: c# .net-3.5 compact-framework windows-ce webclient

我想使用此代码:

public void SendFile(string uri, string filepath)
{
    using (var client = new WebClient())
    {
        client.Headers.Add("Content-Type", "application/xml");
        byte[] response = client.UploadFile(uri, "POST", filepath);
        return Encoding.ASCII.GetString(response);
    }
}

...但我得到了可怕的“无法找到类型或命名空间名称'WebClient'(您是否缺少using指令或程序集引用?)”

根据this,WebClient 在.NET 3.5中可用(这是一个.NET 3.5 / Windows CE项目)。

这是不可靠的,因为这是一个Windows CE / Compact Framework项目,Visual Studio假装它无法识别WebClient?是否有一种解决方法,或者我是否会注定失败?

1 个答案:

答案 0 :(得分:1)

您解释MSDN链接的方式完全错误,但可以理解。

Microsoft决定在“隔离的”#34;中构建.NET Compact Framework / XNA / Silverlight。所以你不能依赖于一般的MSDN链接来判断一个类是否在这样的翻录框架中可用。

http://msdn.microsoft.com/en-us/library/w8xd02k7(v=vs.90).aspx

http://msdn.microsoft.com/en-us/library/ms172548(v=vs.90).aspx

Visual Studio正巧妙地遵循这些解决规则,告诉您WebClient类不存在。

以CF为目标的开发人员注定要失败,你必须寻找替代品,有时候复制Mono的源代码才能完成某些任务。

由于Microsoft开源.NET核心源代码,您也可以在https://github.com/dotnet/corefx

时复制其源文件。