唯一の.NET 2.0がインストールされたシステム上で.NET 3.5用に構築された実行中のソフトウェア

StackOverflow https://stackoverflow.com/questions/1520510

  •  19-09-2019
  •  | 
  •  

質問

どのように遠くに沿って、.NET 3.5用にコンパイルされたソフトウェアは、.NET Framework 2.0がインストールされているシステムにクラッシュする前に取得していますか?

は、私が開発していたアプリケーションは、WPFを使用し、.NET 3.5が必要ですが、私は、ユーザーがそれがインストールされていない場合は(というクラッシュより)ユーザーフレンドリーなダイアログを表示したいと思います。

その上で、この、または正式なMicrosoftのドキュメントを行うための任意の標準的な方法はありますか?

<時間>

編集:理想的な世界では、私はちょうど任意の.NET依存関係は、インストール時に満たされていることを確認したいです。一部のアプリケーションは、インストーラーを持っていないので、アプリケーションがインストールされた後、ユーザーが潜在的に.NETをアンインストールする可能性があるので、私は以下の回答が有用であることがわかります。

役に立ちましたか?

解決

これは(おそらく)文句を言わないのクラッシュ、それは3.5が必要なDLLを使用しようとするまで。実行アプリは任意の3.5特定のDLLを使用する前に、バージョンを確認することができます場合は、Winフォームのダイアログを表示することができ、あなたは大丈夫でなければなりません。あなたの最も安全な賭けは、exeファイルが2.0アセンブリで作ると3.5でコンパイルされた別のDLLにあなたの3.5のもののすべてを作ることであろう。それはあなたの3.5のアセンブリのいずれかをロードする前に、2.0のdllであなたのチェックを行うことができます。

他のヒント

.NET 3.5は、.NET 2.0ランタイムを使用していますので、アプリは(それが3.5アセンブリをロードしようとしたときただし、の失敗します)完全に罰金を開始します。あなたはそれがだかどうかを確認するために Environment.Version に確認することができます.NET 3.5あなたは、標準MessageBox.Showでユーザーに、現在実行している場合はしていない。

あなたはClickOnce配置を使用して考えがありますか?エージェントがチェックし、ネットなど、あなたが指定した任意の前提条件の項目を、インストールされます。それはまた、かなり痛みのないアプリケーションのアップグレードを押します。

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