アプリのアップデーターがあります。更新を確認するとき、サーバーのバージョンをアプリケーションのメインの.exeファイルのローカルアセンブリバージョンと比較します。updater(updaterは別の.exeファイルです)からアプリケーションのメインの.exeファイルのアセンブリバージョンを取得すると、このファイルはブロックされます。書き換えをブロックせずにプロジェクトのアセンブリバージョンを取得するにはどうすればよいですか?アセンブリのバージョンをXMLファイルに保持することはお勧めできません。ありがとう
2 に答える
1
簡単な(そして汚い)方法は、メインexeを一時ファイルにコピーし、そこからロードすることです。
より洗練された解決策は、別のAppDomainを作成し、そこにメインexeをロードすることです。バージョンを変更したばかりなので、アプリドメイン間のブリッジを介してデータを取得するのはかなり簡単です。バージョンを取得したら、アプリドメインをアンロードできます。
バージョンを確認するためにアセンブリをロードしていると想定しています。
于 2011-10-06T15:00:54.440 に答える
1
バージョンを取得するには、AssemblyNameが必要です。
AssemblyName.GetAssemblyName(filename);
于 2011-10-06T15:18:34.380 に答える