1. ホーム
  2. .net

[解決済み] Windowsサーバーにインストールされている.NETのバージョンを確認する確実な方法は?

2023-01-05 04:09:22

質問

この質問は、プログラミングというよりも、デプロイメントに関連したものです。

私の会社では、本番用 Windows サーバーを保守し、その上に私たちのコードを展開することを仕事とするグループとよく会話することに気づきました。法的およびコンプライアンス上の理由から、私はサーバーを直接見ることも、コントロールすることもできませんので、どのバージョンの .NET がインストールされているかを知る唯一の方法は、私がそのグループに指示することです。

今のところ、どのバージョンがインストールされているかを知るために思いつくすべての方法 (1.1 または 2.0 に一致する管理ツールをチェックする、プログラムの追加と削除リストのエントリをチェックする、c:³³ の下にディレクトリが存在するかチェックする) は、欠陥があります (私は、.NET がインストールされていることを確認するために、.NET がインストールされていることを確認しました)。 この方法では 3.0+ については何もわかりませんし、"Add/Remove Programs" のリストは現実とずれている可能性があり、ディレクトリの存在は必ずしも何かを意味しません)。

私は一般的に、これらのものが事前に配置されていることを知る必要があり (おっと、これには必要なすべてのバージョンとサービス パックがありません)、サーバーに直接アクセスできないため、プロキシでチェックしなければならないことを考えると、どのバージョンの .NET が実稼働 Windows Server にインストールされているかを知るための確実な方法は何ですか? できれば、フレームワークがインストールされるものを使用してそうする本質的な方法は、より速く、ロードするユーティリティの種類を必要とせず、また、フレームワークが適切にインストールされないがファイルが配置されている場合 (たとえば、ディレクトリがあり gacutil.exe はそこに示されているがそのバージョンのフレームワークは実際にはインストールされていない)、確実に失敗する方法であることが望ましいです。

EDIT。 フレームワークに組み込まれた、これを行うための良いフールプルーフ固有の方法がない場合、誰かこれを見つけることができる、軽量で、インストール不要の良いプログラムを知りませんか?私は、誰かが1つを簡単に書くことができると想像することができますが、1つがすでに存在するならば、それはさらによいでしょう。

どのように解決するのですか?

この情報を探しているサーバーでIEを開き、このサイトにアクセスしてください。 http://www.hanselman.com/smallestdotnet/

これだけでいいんです。

このサイトには、ブラウザの "UserAgent" を調べて、インストールされている (またはされていない) .NET Framework のバージョンを把握し、自動的に表示するスクリプトがあります (その後、.NET Framework のダウンロードを選択した場合は合計サイズが計算されます)。