1

C#-.Net でプロジェクトを作成しています。プロジェクトから生成された「exe」ファイルは、.Net がまだインストールされていないマシンでは実行できません。このエラーがポップアップしています:

このアプリケーションを実行するには、最初に次のバージョンの .NET.Framework のいずれかをインストールする必要があります: V4.0.30319

依存ファイル (.Net FW など) を PC にインストールするインストーラー ファイルを作成したくありません。

プロジェクトの要件として、ソフトウェアまたは依存ソフトウェアをインストールせずにすべての Windows PC で実行される「exe」を作成したい-> .Net FW。クリックすると、s/w exeが実行されます。

.NetからWindows用のそのようなマシンに依存しない「exe」を作成することは可能ですか??

4

3 に答える 3

0

「プロジェクトの要件として、ソフトウェアや依存ソフトウェアをインストールせずにすべての Windows PC で実行される 'exe' を作成したいと考えています -> .Net FW。クリックすると、s/w exe が実行されます。」.

1) Windows のバージョンに .Net Framework がない場合はどうなりますか?

2) Windows のバージョンが .Net Framework のどのバージョンもサポートしていない場合はどうなりますか? (.Net は Win2K/ME っぽい時代になるまで登場しませんでした。Windows 95 はほとんどの .Net フレームワークを受け入れず、3.1 / 3.5 は Mono さえ受け入れません)

「.NetからWindows用のそのようなマシンに依存しない「exe」を作成することは可能ですか??」

Setup.exe のようなものを作成しようとしているように思えます。これは、1 回のダウンロードで事後に詳細を解決することができます...実際には、「マシンに依存しない」ため、C++ でさえ不適切になります。C++ は Windows で動作するためです。 、Mac、Linux、Unix、および x86、x64、i64、PPC、ARM24/32/64 などを備えた多数のよりエキゾチックなシステム (これらはすべて、Windows がインストールされた状態で存在し、世の中には存在しますが、実行可能ファイルがコンパイルおよびリンクされると、単一の CPU アーキテクチャと OS を対象とします。(OS/2、GEM、および DOS はすべて .exe ファイルを使用し、それらの間にいくつかの類似点がありますが、他のほとんどの OS では実行可能バイナリに特定のファイル拡張子は必要ありません)

したがって、.Net は、.jar、.pl、または .py がそうである以上に、この理由でひどい考えではありません。(これは、Linux、Mac、および BSD Unix で実行することを希望する *nix ソフトウェアでは比較的一般的です...おそらく Solaris や HP/UX などでも可能です) x86 や x64 ではなく MSIL をターゲットにすると、.exe はPPC Windows、DEC Alpha Windows、Itanium Windows、ARM Windows、および他の 2 つの Windows で実行できます。(これはあなたが求めているものではありませんが) WPF やその他の Windows 固有の GUI エンジンに依存せずにビルドすると、Mono がインストールされている限り、Mac、Linux、および BSD でも動作します。(検討している間は検討する価値があるかもしれません... Microsoftが適切な.NetバージョンでサポートしていないバージョンのWindowsは、このように動作するためにMonoも必要です)

そのためには、.Net 開発環境ではなく、Mono でコマンドライン実行可能ファイルをビルドすることをお勧めします。(Mono 実行可能ファイルは、Mono で実行される .Net 実行可能ファイルよりも簡単に .Net 上で実行されます...ただし、ソースにインポートするヘッダーに含める依存関係に注意すれば、どちらも可能です)

私はこれである程度成功し、同じバイナリ実行可能ファイルを使用して Windows または Linux にインストールするバックグラウンド サービスを作成しました。MonoDevelop を使用しました。( https://www.monodevelop.com/ ) ただし、これは実際には、コアの Mono 開発ツールに関する派手な IDE にすぎません。( https://www.mono-project.com/ )

于 2019-05-29T18:07:20.977 に答える