これは古典的な問題で、numerousの解describedです。しかし、それらのどれも私のために働くようです。アセンブリの生成に失敗しました - 参照されたアセンブリには厳密な名前はありません。他のソリューションはなぜ機能しないのですか?
私は、SharePointソリューションでReport.NETライブラリを使用しています。 Reports.dllを参照として追加してコンパイルすると、エラーメッセージ "アセンブリの生成に失敗しました - 参照されたアセンブリ 'Reports'には厳密な名前はありません。しかし私のプロジェクトでは、プロジェクトのプロパティにkey.snkがリンクされています。だから私は他の場所で説明するように、分解署名し、このキーファイルとDLLを再構築しよう:
C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProj
\dll>ildasm Reports.dll /out:Reports.il
C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProj
\dll>ilasm Reports.il /dll /resource=Reports.res /key=..\key.snk
<output removed for brevity>
Class 95
Class 96
Method Implementations (total): 1
Resolving local member refs: 0 -> 0 defs, 0 refs, 0 unresolved
Writing PE file
Signing file with strong name
Operation completed successfully
は、私が今にタイムスタンプが新しいReports.dllで終わります。しかし、これを私のプロジェクトとビルドへの参照として追加すると、前と同じエラーメッセージが表示されます。 "Reports"リファレンスのプロパティは "Strong Name:False"と表示されます。
トラブルのビットによって落胆することはない、私は強い命名ユーティリティを使用して再署名アセンブリにしよう:
C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProj
\dll>sn -R Reports.dll ..\key.snk
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Assembly 'Reports.dll' successfully re-signed
SNユーティリティを実行するとエラーメッセージが表示されて失敗したことは注目に値するかもしれません「Reports.dllは厳密に名前の付いたアセンブリを表していません」の実行前には、逆アセンブル/署名/再構成のプロセスであるより前です。
ただし、逆アセンブリ/署名/再アセンブリ後に実行すると、Visual Studioに元のエラーメッセージを再追加すると元のエラーメッセージが表示されます。
の可能重複[アセンブリの生成に失敗しました - 「Interop.Office」は厳密な名前を持っていない参照アセンブリを](のhttp:// stackoverflowの.com/questions/6845537/assembly-generation-failed-referenced-assembly-interop-office-does-not-have) – JabberwockyDecompiler