为什么网络客户端无法解析

本文关键字:网络 客户端 为什么 | 更新日期: 2023-09-27 18:36:56

我想使用以下代码:

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 指令或程序集引用?

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

这是因为这是一个Windows CE/Compact Framework项目,Visual Studio假装它无法识别WebClient吗?有没有解决方法,还是我再次注定要失败?

为什么网络客户端无法解析

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

Microsoft决定以"隔离"的方式构建.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