Вопрос

В настоящее время я разрабатываю приложение для профиля клиента .NET 4, поскольку именно эта версия будет присутствовать на большинстве домашних компьютеров через Центр обновления Windows.

Однако я не могу добавить ссылку на System.Web.dll так как в этой версии его нет - что делать?

Стоит ли развертывать System.Web.dll вместе с моим приложением или это не сработает?Мне действительно нужны HTTP-соединения и все такое, поэтому я не могу изменить свое приложение в качестве обходного пути.Возможно ли настроить мое приложение на .NET 4 (без профиля клиента) или это просто не будет работать на компьютерах только с профилем клиента?

Это было полезно?

Решение

Net 4 Client Profile, так как это версия, которая будет присутствовать на большинстве Домашние компьютеры через обновление Windows

Не на самом деле..NET 4 (профиль клиента или нет) в настоящее время нет в установке Pre-Windows 10 по умолчанию.Например, Windows 7 поставляется с .NET 3.5 SP1, а не .NET 4.0.Там может быть обновление Windows, но это необязательно. Следовательно, вы можете нацелиться на Full .NET 4 Framework.

Ссылка между операционными системами и версиями .NET Frameworks можно найти здесь .Галочки показывают, что версия доступна из коробки, плюс знак означает, что его можно установить.

также обратите внимание, что 4.5, 4.6 и 4.6.1 все находятся на месте обновлениями, что означает, что система с любым из них также считается 4,0.

Другие советы

Если вы ориентируетесь на .NET 4.0, а не на профиль клиента .NET 4.0, вам следует добавить его как предпосылка.Это позволит установить его при установке приложения.

Вы все еще можете использовать Розетки если вы используете клиентский профиль .NET 4.0, они расположены в System.Net.Ты только хотеть System.Web когда применяется следующее:

System.Web пространство имен поставляет классы и интерфейсы, которые позволяют общаться с сервером браузера.Это пространство имен включает в себя класс httprequest, который предоставляет обширную информацию о текущем HTTP -запросе;класс httpresponse, который управляет выводом HTTP клиенту;и класс httpserverutility, который обеспечивает доступ к утилитам и процессам на стороне сервера.System.Web также включает в себя классы для манипуляции с файлами cookie, передачи файлов, информации об исключении и управления выходным кэшем.

Если вы просто хотите использовать httpwebrequest, он доступен в профиле клиента для .NET 4.

Вот пример, который вы можете попробовать, просто создайте новое приложение для консоли, используя профиль клиента .NET 4 и вставьте это в программу .CS ...

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 для хранения файлов cookie.

Даже если вы развернуте копию генеракодицетагкода к клиенту, который не решит проблему.И проблема в том, что вы не можете ссылаться на сборки, скомпилированные для профиля .NET 4 (не клиент) из сборки, скомпилированной для профиля клиента .NET 4.Единственное решение состоит в том, чтобы нацеливаться на вашу сборку на профиль клиента.

The MSDN.P >.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top