1

Nugetパッケージから.Net用のSwaggerUIをインストールし、swaggerでWeb APIメソッドをテストしようとしています。しかし、私はコンパイル時エラーを下回っています。

Error   Assembly generation failed -- Referenced assembly 'WebActivator' does not have a strong name

署名プロパティのソリューション設定を オンからオフに変更すると、このエラーは発生しません。今、ソリューション設定の署名プロパティに対して行われた設定を変更して、このエラーを修正したくありません。誰かこのエラーを修正するのを手伝ってもらえますか?

4

1 に答える 1

0

最近参照した新しいアセンブリはそうではありませんが、アセンブリには厳密な名前が付けられています。さらに、これらはソースからコンパイルされていません (NuGet 経由で入手できます)。

2つの回避策が今私の頭をよぎります:

  1. SwaggerUI と依存関係のソースを取得し、キーで署名します。すべてをビルドする必要があるため、これは面倒なプロセスだと思います。
  2. 今のように DLL を使用し、各ビルド後に署名します。たとえば、次の手順を使用できます(分解、署名、再組み立て)。これを行う場合は、依存度の最も低いプロジェクト (最初にビルドするプロジェクト) にビルド前のステップとしてこれを追加する価値があると思います。
  3. これも見つけました - Assembly Strong Naming Toolkit (for NuGet)。試したことはありませんが、あなたのケースに合わせて設計されているように見えるので、調べる価値があるかもしれません。
于 2014-08-13T19:45:00.773 に答える