フレームワーク全体をインストールする代わりに、セットアッププロジェクトと共に私のプログラムで使用される.Netフレームワークの特定のdllだけを含めるにはどうすればよいですか? .NETがインストールされていないだけ、それは特定のシステムをインストールしています。*あなたのために必要なDLLを.Netフレームワーク全体ではなく、必要なdllだけを含めることは可能ですか?
おかげ
フレームワーク全体をインストールする代わりに、セットアッププロジェクトと共に私のプログラムで使用される.Netフレームワークの特定のdllだけを含めるにはどうすればよいですか? .NETがインストールされていないだけ、それは特定のシステムをインストールしています。*あなたのために必要なDLLを.Netフレームワーク全体ではなく、必要なdllだけを含めることは可能ですか?
おかげ
hereと記載されている.NETクライアントプロファイルをお勧めします。 Windows Presentation Foundation(WPF)、Windowsフォーム、Windows Communication Foundation(WCF)、およびClickOnceのサブセットを合理化して提供します。これにより、.NET Framework Client Profileを対象とするWPF、Windowsフォーム、WCF、およびコンソールアプリケーションの迅速な展開シナリオが可能になります。"
あなたは、サーバーへの.NETアプリケーションを展開するには、アプリケーションをしていますか?
私はあなたがこれをすることができないと確信しています。フレームワークには、GACの単なるDLL群だけではありません。 (例:CLR、レジストリエントリなど)。クライアントマシンにフレームワークをインストールする必要があります
私はそれができないと確信しています。 C#は管理されたコードなので、それをサポートするにはCLRとフレームワークが必要です。
バイナリにコンパイルされる他の言語とは異なり、.NETコードはMSIL(Microsoft Intermediate Language)にコンパイルされるため、ハードウェアによって直接実行することはできません。
私はSalamander toolsを知っていますが、それらを使用していません。自分のサイトから
:「サラマンダー.NETリンカ、ネイティブコンパイラとミニ配置ツール;展開.NET W/Oフレームワークは、」実行するためにあなたのpogramためには
番号、ターゲットマシンを持っている必要があります適切なバージョンの.Netフレームワークがインストールされています。 SDKをアプリケーションにバンドルする必要はありませんが、アプリケーションに適切な.Netフレームワークを再配布可能にする必要があります。
あなたは、アセンブリをリンクするXenocodeのようなツールを使用することができます。
無料のリンカーがありますが(マイクロソフトから、私が思う)、それは私の名前をエスケープします。
リフレクションを使用して、依存するアセンブリを識別し、それらを展開とリンクすることは可能です。私はJavaの土地で同様のテクニックを使用しました。
ただし、ターゲットにはまだCLRがインストールされている必要がありますシステム。 –
これはできません。あなたは、ターゲットマシン上の適切な.Netフレームワークランタイムを確保しなければなりません。サードパーティライブラリ/アセンブリでは可能ですが、.NETランタイムでは不可能です。
.Net 3.5 SP1以降、.NET Framework Client Profileを使用するオプションがありました。これにより、一部のサポートされているシナリオで完全な.Netパッケージのサブセットを配布できます。インストーラを使用する必要があります。個々のアセンブリを配布するだけでは不十分です。利点は、パッケージのサイズと展開時間を大幅に短縮することです。
私が正しいとすれば、あなたのプログラムを動作させることができるかどうかを、あなたのPCに.NETフレームワークがインストールされているかどうか知りたいでしょうか? – Natrium
すべてのステートメントは実行できません。正しくないですサードパーティのツールがあります...私のコメントを参照してください。そのうちの1つにリンクしています。 – Lucero