1

ca の C# ソリューションがあります。テスト プロジェクトを含む 55 プロジェクト。

プロジェクトの一部は共有ポイントであるため、すべての dll が署名されています。

コード カバレッジで単体テストを実行したいと考えています。次に、コード カバレッジが署名付き dll を計測できないという問題が発生します。

したがって、dll の署名を解除し、テストを実行してから、再署名する必要があります。多数のプロジェクト ファイルがあると、これは面倒です。

質問は次のとおりです。これを何らかの方法で自動化することは可能ですか? (退会するには、チェックアウトを元に戻すだけです)

4

1 に答える 1

2

ええ、それは簡単です。キー署名の設定はプロジェクト ファイルに保存されます。これは単なる XML です。このファイルをトラバースして署名の設定を削除するスクリプトを作成します。

  1. 署名を定義する .csproj ファイルの XML 設定を削除します。
  2. msbuild を使用してプロジェクトを再構築します。
  3. これらの再構築された DLL に対して単体テストを実行します。
  4. .proj ファイルを再度トラバースし、設定を追加し直します。
  5. 署名を使用して再コンパイルします。

.csproj ファイルで、削除する次の 2 行を探しています。

<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>MyKey.snk</AssemblyOriginatorKeyFile>
于 2009-09-15T07:33:36.670 に答える