我目前正在开发.NET 4客户端配置文件的应用程序,因为这是通过Windows Update在大多数家庭计算机上存在的版本。 但是,我无法为此版本中不存在的System.Web.dll添加引用 - 我该怎么办?

是一个很好的想法,可以与我的应用程序一起部署系统。或者不会工作?我真的需要HTTP连接和所有,所以我无法将我的应用程序修改为解决方法。将我的应用程序定位在.NET 4(无客户端配置文件)可能是一种可能性,也许只是在仅具有客户端配置文件的计算机上的可能性?

有帮助吗?

解决方案

net 4客户端配置文件,因为这是 最多存在的版本 通过Windows Update 家庭计算机

不是真的。.NET 4(客户端配置文件或不)当前不存在于任何Pre-Windows 10安装上默认情况下。例如,Windows 7附带.NET 3.5 SP1,而不是.NET 4.0。可能有一个Windows更新,但它是可选的。

因此,您可能同样定位完整的.NET 4框架。

可以找到操作系统和.NET框架版本之间的链接这里。选中标记表示版本可用开箱即用,加号是可以安装它。

还请注意,4.5,4.6和4.6.1全部就地更新,这意味着与其中任何一个的系统也被认为是4.0。

其他提示

如果您定位了.NET 4.0而不是.NET 4.0客户端配置文件您应该将其添加为 prerequisite 。安装应用程序时,这将允许安装它。

您仍然可以使用套接字如果您运行.NET 4.0客户端配置文件,它们位于System.Net中。当以下适用时,您只有希望生成的生成aceTagcode:

系统.Web命名空间用品 启用的类和接口 浏览器 - 服务器通信。这 命名空间包括httprequest 班级,提供广泛的 有关当前HTTP的信息 要求; httpresponse类,哪个 管理到客户端的HTTP输出;和 httpserverutiility类,哪个 提供对服务器端的访问 公用事业和流程。 system.web. 还包括cookie的类 操纵,文件传输,例外 信息,输出缓存控制。

如果您只想使用HttpWebRequest,它可以在客户端配置文件中提供.NET 4。

这是一个可以尝试的示例,只需使用.NET 4客户端配置文件创建新的控制台应用程序并将其粘贴到程序中...

using System;
using System.IO;
using System.Net;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            var request = WebRequest.Create("http://google.com");
            var response = request.GetResponse();
            using (var s = response.GetResponseStream())
            using( var sr = new StreamReader(s))
            {
                Console.Write(sr.ReadToEnd());
            }

            Console.ReadKey();
        }
    }
}
.

您在其中一个评论中询问了httpcookiecollection。似乎HttpWebRequest使用CookieContainer来存储饼干。

即使您将System.Web.dll的副本部署到无法解决问题的客户端。问题是:您无法从编译的.NET 4客户端配置文件编译的程序集中编译的.NET 4配置文件(不是客户端)编译的程序集。唯一的解决方案是将您的组装定位为非客户端配置文件。

关于.NET Framework客户端配置文件

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top