3

VB.NET で作成したプロジェクトを配布用に公開したいと考えています。ソリューションをビルドすると.Exeが作成されることを知っています。ただし、それにはローカルリソースが必要です。リリース用にビルドした場合、動作することはわかっていますが、.Net プラットフォームをインストールする必要があります。とにかく、真のスタンドアロン.exeまたは.NETがインストールされていない場合に個人のコンピューターで実行される何かを作成する方法はありますか? また、ClickOnce アプリケーションのことは、必要なソリューションではありません。

私のためにこれを行うことができるコンバータープログラムはありますか?

4

3 に答える 3

3

.NET フレームワークは、.NET プログラムを実行するための基本的な前提条件を表しています。Windows プログラムを実行するための前提条件は、Windows がインストールされていることと同じです。どの Windows バージョンにも .NET フレームワークが含まれていることに注意してください (実際には、最優先の更新が含まれる傾向があるため、多くの場合、Windows Update によって自動的に実行されます)。過去 10 年間に作成された Windows 上で動作するプログラムの大部分は、.NET フレームワーク上に構築されています。関連する割合のサイト (たとえば、このサイトなど) は ASP.NET 上に構築されているため、特定のサーバーには .NET フレームワークを含める必要があります。全体的な互換性が気になる場合は、少し古い .NET バージョンを使用することをお勧めします。VS 2010 の最新バージョン (4.0) は、最新のコンピューターのほとんどで問題ありません。しかし、前のもの (3.5) を信頼して完全に確認することもできます。最後に、.NET プログラムは Windows 以外の OS (Linux や MacOS など) でも実行できることに注意してください。ただし、私の過去の経験から、これらはあまり信頼できる状況ではありません。それにもかかわらず、他のOSに興味がある場合は、この分野で調査/テストを行って、利用可能なオプションが探しているものを提供するかどうかを確認する必要があります.

概要: Visual Studio によって生成された exe ファイルは、実際には「スタンドアロン .exe」と呼ばれるものです。その定義機能の 1 つは .NET バージョンです (これは [プロジェクト設定] で変更できます)。プログラムは、それが構築されたものと同じか新しい.NETフレームワーク(または同等のもの)を備えたコンピューターでのみ実行できます。4.0 バージョンは、新しい/適切に更新されたほとんどのコンピューターで問題ないはずです。3.5 .NET は事実上すべてのコンピューターで動作します (ただし、論理的には、4.0 よりも少ない機能が含まれています)。

---------------------------- コメント後に更新 ------------------- -

いくつかのコメントから、私の声明が思ったほど明確ではなかったことを理解し、これがこの更新の理由です

  • .NET は、Vista 以降の Windows にのみプリインストールされています。XP には、デフォルトで .NET ランタイムが含まれていません。私の回答でこの問題について言及しなかった理由は、.NET なしで XP Windows を使用する可能性が非常に低いためです。まず、これは最優先の自動更新であるため、コンピューターがインターネットに初めて接続されたときの 1 つである "Windows Update" がこれを処理します。第二に、これは過去 10 年間の Microsoft プログラミングの基本的なフレームワークであり、それを持たない Windows コンピューターはほとんど何も実行できません。この最後の文で、ほとんどのプログラムが .NET で構築されていることは気にしませんが、Windows ベースの環境では、最近の基本的な要件のほとんどに .NET が含まれています。

  • また、異なる .NET バージョン間でいくつかの互換性の問題があることも指摘されました (さまざまなサイド バイ サイド バージョンが必要でした)。さまざまな .NET バージョンに対する Microsoft の基本的なアプローチは下位互換性です。つまり、特定の .NET バージョンは、そのバージョンまたはそれ以前のバージョンでビルドされたプログラムを実行できます。これは理論的には正しいですが、実際には常に正しいとは限りません。この問題に対する私のアプローチは、少し古い .NET バージョン (3.5) に依存し、あまり新しい/テストされていない機能 (WPF など) を使用しないことです。確実に全体的に互換性のあるプログラムが必要な場合は、Microsoft がすべてを処理することを期待する代わりに、この面でかなり多くの作業を行う必要があります (バージョン間の互換性は、プログラミング プラットフォームの最も典型的な問題の 1 つです)。したがって、原則として、1 つの .NET バージョン (最後のバージョン) だけをインストールする必要があります (一方、大部分のコンピューターには当てはまりません。例: 3.5 バージョンを含むコンピューターは、以前のバージョンを維持することにより、何年にもわたって 4.0 および 4.5 に更新されています)。

  • 最後に、この回答での私の意図は、他のプログラミング アプローチよりもプログラミング アプローチを擁護するものではないことを強調したいと思います。「.NET部分を削除できますか?」という質問の観点から、そこにあるものを説明しているだけです。-> いいえ、できません。それを行う(賢明な)方法はありません。別のプログラミング プラットフォームに依存したい場合は、それについての情報を得る必要があります (Camilo Martin が喜んでこの面であなたを助けてくれると確信しています)。.NET に依存する場合は、全体的に互換性のあるプログラム (Windows で実行する) を生成できることを確認してください。


于 2013-06-16T09:28:49.273 に答える