web-dev-qa-db-ja.com

.NETフレームワークをインストールする必要なしにスタンドアロンexeを作成する

私は学生で、今は会社でインターンシップをしています。このインターンシップはプロジェクトを分析することです。このプロジェクトでは、マーケティングディレクターに示すデモを作成しました。私が作成したデモは、WindowsフォームとAccessデータベースへの接続を使用してVisual Studio 2010でc#で作成された単純なプロジェクトです。

それで、私はこのデモをこのディレクターにプレゼンテーションで示す必要がありますが、このプレゼンテーションの後、ディレクターは彼のコンピューターでプロジェクトを望んでいます。問題は、この会社のコンピューターに.NET Framework 4.0がインストールされておらず、コンピューターがここで保護されているため、新しいものをインストールできないことです。何かをインストールするには、数週間かかる手順を実行する必要があります。

私はインターネットを介してすべてを見ましたが、私が見つけるすべては.NETフレームワークをインストールする方法です。

.NETフレームワークをインストールする必要なくスタンドアロンのexeを作成できる方法はありますか?助けてください!

Net Framework 4を使用して開発されたアプリケーションを実行する場合は、クライアントコンピューターに.Net Framework 4をインストールしておく必要があります。

アプリケーションはCIL(Common Intermediate Language)でコンパイルされているため、フレームワークエンジンで解釈する必要があります。

Javaプログラムを実行する場合も同様です。Javaマシンをインストールする必要があります。

フレームワークをインストールする必要がない唯一の方法は、C、C++でネイティブアプリケーションをプログラミングすることです。

9
Carlos Landeras

C#は、.NET Nativeでこれをサポートするようになりました。

中間言語にコンパイルする代わりに、ネイティブコードにコンパイルし、静的にリンクされた.NETライブラリで実行します。したがって、エンドユーザーの.Netランタイム要件はありません。

https://msdn.Microsoft.com/en-us/vstudio/dn642499.aspx

https://msdn.Microsoft.com/en-us/library/dn584397(v = vs.110).aspx

Windows 10でのみ機能します

9
PeterFnet

.NET FrameworkなしでC#実行可能ファイルを構築することはできません。いくつかのリソースがあなたができることを示したとしても、それは理論的にのみ機能します。

ただし、.NET 4.0のような古いバージョンの.NET Frameworkを使用することもできます。これでうまくいかない場合は、CLRをまったく必要としないC++などの言語を選択する必要があります。

2018年更新:

.NET 2.0または3.5をターゲットにしないでください。 4.xバージョンと互換性がありません。ただし、.NET 4.0ターゲットバイナリは.NET Framework 4.0、4.5、4.6、4.7などで動作します。 最大互換性に到達するには、。NET 4.でコンパイルします。一部の機能が利用できないことを受け入れる必要がありますが、バイナリは事実上どこでも実行されます。

(2018:現在、.NET 2.0-3.5は4.xよりもはるかに低い配布です)

8
bytecode77

Delphiがソリューションであり、ネイティブbin実行可能ファイルを展開します

6

はい、これはIS可能です!

少なくとも3つの方法があります。

1.アプリを実行し、そのようなバージョンの.NETでビルドする予定のすべてのOSを確認できます。 Windowsには組み込みのフレームワークライブラリがあります。

Vista -.NET v3.0-すべてのサービスパック

Windows 7-.NET v3.5-すべてのバージョンとサービスパック

Windows 8-.NET v4.0[不明な場合の最適な選択]

Windows 8.1-.Net v4.5

Windows 10-.Net v4.6

デフォルトですでにプレインストールされているため、追加のインストールは必要ありません。


2。「。NET Native」を使用して、ネイティブコードにコンパイルできます(CILにはコンパイルできません)。これは、アプリに.Net Frameworkが必要ないことを意味します。

ただし、Windows 10でのみ機能するようです。


3. Turbo Studio (以前の Spoon 以前の XenoCode )があり、アプリが必要とするすべてのものをラップしてスタンドアロンとして実行できます。

彼らのサイトから:

ターボスタジオ

.NETなしで.NETを実行します。 .NET、Java、SQLなどのランタイムの依存関係を仮想アプリケーションに直接簡単に埋め込むことができます。基盤となるコンポーネントのインストールに関係なく、どのデスクトップでも確実に起動します。

1
Andrew

Monoを使用してプログラムを静的にリンクできるため、プログラムは.NET CLRランタイムを必要とせず、スタンドアロンプ​​ログラムとして機能します。

モノプロジェクト

0
dns