質問

現在、.NET 4クライアントプロファイルのアプリケーションを開発しています。これは、Windows Updateを介してほとんどのホームコンピュータに存在するバージョンです。

しかし、このバージョンに存在しないため、System.Web.dllへの参照を追加できません - 私は何をすべきですか?

アプリケーションと一緒にSystem.Web.dllを展開することをお勧めします。私は本当にHTTP接続が必要ですので、私のアプリケーションを回避策として変更することはできません。.NET 4(クライアントプロファイルなし)にアプリケーションをターゲットにしています(クライアントプロファイルなし)クライアントプロファイルのみを持つコンピュータでは機能しない可能性がありますか?

役に立ちましたか?

解決

Net 4クライアントプロファイル ほとんどの存在になるバージョン Windows Update を介したホームコンピュータ

本当にそうではありません。.NET 4(クライアントプロファイルまたはNOT)現在、デフォルトではWindowsの前にあらゆる事前に存在しません。たとえば、Windows 7には.NET 4.0ではなく.NET 3.5 SP1が付属しています。Windowsの更新があるかもしれませんが、オプションです。

したがって、あなたは完全な.NET 4フレームワークをターゲットにするかもしれません。

オペレーティングシステムと.NET Frameworkバージョン間のリンクは、ここ。チェックマークは、バージョンがボックスから入手可能であり、サインがインストールできることを意味します。

は、4.5,4.6、および4.6.1がすべてインプレース更新であり、それらのいずれかを持つシステムも4.0を持つシステムがあると考えられています。

他のヒント

.NET 4.0ではなく.NET 4.0ではなく、4.0クライアントプロファイルをターゲットにしている場合は、前提条件。これにより、アプリケーションをインストールするときにインストールすることができます。

Sockets を.NET 4.0クライアントを実行すると使用できます。プロファイル、それらはSystem.Netにあります。 のみは、次のように適用されたときにSystem.Webを望みます。

システム.Web名前空間電源 有効にするクラスとインタフェース ブラウザサーバ通信。この ネームスペースにはHttpRequestが含まれています 豊富なクラス 現在のhttpに関する情報 リクエスト; httpresponseクラス HTTP出力をクライアントに管理します。そして httpServerutilityクラス サーバーサイドへのアクセスを提供します ユーティリティとプロセスSystem.Web Cookieのクラスも含まれています 操作、ファイル転送、例外 情報、および出力キャッシュ制御。

HTTPWebRequestを使用したい場合は、.NET 4のクライアントプロファイルで利用可能です。

これは、.NET 4クライアントプロファイルを使用して新しいコンソールアプリを作成し、これをProgram.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を使用しているようです。

System.Web.dllのコピーをクライアントに展開しても問題を解決しない場合でも。そして、問題は次のとおりです。.NET 4クライアントプロファイル用にコンパイルされたアセンブリから.NET 4プロファイル(クライアントではなく)のコンパイルされたアセンブリにリンクすることはできません。唯一の解決策は、アセンブリをクライアントプロファイルにターゲティングすることです。

msdnページ.NET Frameworkクライアントプロファイル

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top