この質問は、デプロイメントに関連しているため、プログラミングに関連したものではありません。
私は、実稼働Windowsサーバーを維持し、コードをそれらのサーバーに展開することが仕事である社内のグループと多くの会話をしていることに気づきました。法的およびコンプライアンス上の理由から、サーバーを直接表示したり、サーバーを制御したりすることはできないため、.NETのどのバージョンがサーバーにインストールされているかを確認する唯一の方法は、そのグループに指示することです。
これまでのところ、インストールされているバージョンを確認するために考えられるすべての方法(1.1または2.0に一致する管理ツールを確認し、[プログラムの追加と削除]リストのエントリを確認し、存在を確認しますc:\ Windows \ Microsoft.NETの下のディレクトリに欠陥があります(2.0を持つマシンが1つ以上あるが、管理ツールの下に2.0エントリがないことを確認しました-その方法では、3.0以降の「プログラムの追加と削除」リストについて何もわかりません現実と同期しなくなる可能性があり、ディレクトリの存在は必ずしも何も意味しません)。
通常、これらのことを事前に知っておく必要があることを考えると(「おっと、これには必要なすべてのバージョンとサービスパックがない」ということを発見すると、短いメンテナンスウィンドウではうまく機能しません)。サーバーに直接アクセスできないため、「プロキシによる」チェックを実行します。実稼働Windowsサーバーにインストールされている.NETのバージョンを確認するための簡単な方法は何ですか。フレームワークがインストールするものを使用してそうするためのいくつかの本質的な方法は、ロードが速く、ある種のユーティリティを必要としないので、フレームワークが適切にインストールされていないがファイルがまだある場合に確実に失敗するメソッドです(つまり、 、ディレクトリがあり、gacutil.exeがそこに含まれていますが、そのバージョンのフレームワークは実際には「インストール」されていません)
編集:これをフレームワークに組み込むための優れた間違いのない本質的な方法がない場合、これを見つけることができる、インストールが不要で優れた軽量のプログラムを誰かが知っていますか?誰かが簡単に書けると想像できますが、もしそれが既に存在しているなら、それはさらに良いでしょう。