ビルド サーバーで .NET ソリューション ビルドの一部として SGEN を呼び出すと、SGEN がエラーをスローする問題を解決しようとしています。サーバーのコマンドラインからビルドを実行して、CIサーバーを要因として排除しています。
表示される具体的なエラー メッセージは次のとおりです。
SGEN : エラー : ファイルまたはアセンブリ 'MyAssembly.dll、Version=0.0.0.0、Culture=neutral、PublicKeyToken=56e8273d901d717f' またはその依存関係の 1 つを読み込めませんでした。厳密な名前の検証に失敗しました。(HRESTULT からの例外: 0x013141A)
コマンド ラインからビルド スクリプトを実行しても、その他のエラーは発生しません。
問題のアセンブリは遅延署名されたアセンブリであり、指定されたトークンと一致する公開キーで構築されています。
サーバーでは、sn.exe ツール ( *,56e8273d901d717f
) を使用して検証スキップ用のキー トークンを登録しました。これは、完全な署名段階が試行される前に、ビルド プロセスのテスト ステップの一部を実行するために必要なためです。
ビルド プロセスは、開発者のデスクトップと Win2K3 サーバーで正常に動作します。これらのテストは、古いボックスを置き換える新しい Win2k8R2 サーバーで実行しています。