2012-08-23 59 views
7

VS 2010、溶液中のすべてのプロジェクトSGEN:エラー:(HRESULTからの例外:0x8013141A)ファイルまたはアセンブリをロードできませんでしServer 2003を勝つ、

の.Net 1.1からmiguratedた.NET 3.5ソリューションは、遅延が署名されています。 SolutonはDebugのために正常に構築できますが、次のエラーで常にReleaseに失敗します。 SGEN:エラー:ファイルまたはアセンブリを読み込めませんでした。'AssemblingX、バージョン= 1.0.5000.0、Culture = neutral、PublicKeyToken = xxxxxxxx'またはその依存関係の1つ強い名前の検証に失敗しました。 (HRESULTからの例外:0x8013141A)

アセンブリーXは、ビルドしたいプロジェクトです。このプロジェクトの参照されているすべてのDLLは、ローカルフォルダに保存され、既に署名されています。私がプロジェクトAssemblingXのプロパティを変更してそれに署名すると、ソリューションをリリース用に構築することができます。

私はhttp://social.msdn.microsoft.com/Forums/nl-NL/msbuild/thread/695581ae-77e7-4c3a-bb3f-6472b8c47f65

に導かれた。しかし何も変わっていない、次で「loadFromRemoteSources」を有効にするsgen.exe.configを作成しました。何か案は?

おかげ

答えて

17

この問題は、厳密な名前の検証に関連しています。 AssemblyXIldasm.exe(C:¥Program Files(x86)¥Microsoft SDKs¥Windows¥v7.0A¥bin)を開きます。そのPublicKeyTokenに注意してください。例えば、pkt123とします。 VSコマンドプロンプトを管理者モードで開き、sn.exeコマンドを実行します。次のように:

sn -Vr *,pkt123 

もう一度ソリューションをビルドしてください。

もしそうでなければ同じエラーが表示されるので、別のバージョンのsn.exeを実行する必要があります。これを見つけるには、Visual Studioのコマンドプロンプトに移動します。

c:\Program Files(x86)>dir /s sn.exe 

これは5~10秒かかることがあり、sn.exeファイルのリストを与える必要があります。上記のように、パスに移動し、sn.exeを実行してください。実行するものが不明な場合は、すべてのsn.exeを実行してください。それはあなたの問題を解決しなければなりません。そうでない場合は、私に知らせて、RnDをもう一度進めるようにしてください。

+0

恐ろしい解決策、ありがとう:) – Mark

+0

ありがとうマーク.... :) – Sandy

+0

ライフセーバー!!ありがとう – mo13

3

私はこれに対する唯一の答えにコメントすることができないので、私がしたようにこの答えに来た他のユーザーは、他の人が同じミスを犯さないようにしたいと思っていました。 強力な命名ユーティリティのMSDNのドキュメントによれば、Vr(シグネチャスキップ)スイッチを使用すると、悪質なアセンブリが読み込まれる可能性があり、展開ではなくデプロイメントでのみ使用する必要があります。まだあなたが削除またはAllowStrongNameBypass(DWORD)を設定する必要が解決しない場合は

http://msdn.microsoft.com/en-us/library/k5b5tt23(v=vs.80).aspx

0

"1" キー

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework 

64ビット上のコンピュータでは、

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework 

および

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework 
1

私の場合、その理由は、ネイティブライブラリが別のフォルダに作成され、残りのアプリケーションに組み込まれたためです。

0

cmdを開きます。

Cd "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin" 

実行

sn –Vr **AssemblingX** name (without dll extension), **PublicKeyToken**

(コード)

溶液を再構築。 それは解決すべきです。

関連する問題