Visual Studio でコンパイルした後、VB.Net 1.1 アプリケーションが問題なく動作します。ただし、ILMerge を使用して、参照されているすべてのアセンブリを 1 つの実行可能ファイルに結合し、簡単に移動できるようにしたいと考えています。ILMerge 経由で送信して実行しようとすると、エラーが発生します
「Assembly.exe の厳密な名前の検証に失敗しました」.....
しかし、私のものはどれも強い名前ではありません! ここでこの投稿を見ました:厳密な名前の検証に失敗し、「sn.exe -Vr merged.exe」で実行しようとしましたが、次のエラーが表示されます:
「merged.exe は厳密な名前のアセンブリを表していません」
他の誰かが以前にこの問題を抱えていましたか? どうすれば修正できますか?
アップデート:
ここでは、厳密な名前の検証は本当の問題ではないように感じ始めています。私は .NET v1.1 に対してビルドし、それがインストールされている唯一の .NET バージョン (たまたま Windows 2003) であるマシン上で実行しています。マージされた実行可能ファイルは、試したすべての Windows 2003 マシンでそのエラーで停止しているように見えますが、より新しい OS (Vista) で実行しようとすると、少なくとも開始されますが、環境がそうでないため、実際には良いテストではありません。実際のテストに適しています。
- app.config の設定が正しいことを確認しました (v1.1.4322 の必要かつサポートされているランタイム バージョンを指定しています)。
- ILMerge を使用してアセンブリを実行するときに、/targetplatform:v1.1 オプションを使用します。
ILMerge が問題の原因であることは間違いありません (つまり、マージする前に問題なく動作します)。ただ、それを修正する方法がわかりません。