web-dev-qa-db-ja.com

ファイルまたはアセンブリHRESULTをロードできませんでした:0x80131515(ネットワークドライブにアセンブリ参照があるMVCプロジェクトにコントローラーを追加する場合)

私はこれを見てきました: VSTS 2010 SGEN:エラー:ファイルまたはアセンブリをロードできませんでした(HRESULTからの例外:0x80131515) および回答が機能しません。また、私がビルドしたときなどには表示されません。エンティティフレームワークテンプレートコントローラーを追加しようとすると、プロジェクトを正常に実行できます。

controller settings

それから私はこのエラーを受け取ります:

error message

すべてのプロジェクトファイルは、ネットワーク共有上にあります。これは、作業のためにマイドキュメントが存在する場所だからです。ここに私が試したものがあります:

1)プロジェクト設定のGenerator Serialization Assemblyをオン、オフ、および自動に切り替えます。

2)次のコードを使用して、sgen.exe.configをC:\ Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Toolsに追加します。

<configuration>
 <runtime>
   <loadFromRemoteSources enabled="true" />
 </runtime>
</configuration>

3)アセンブリのブロックを解除しようとしましたが、プロパティタブにブロック解除オプションがありませんでした。 no unblock option

これらのソリューションはどれも機能しません。誰も私がこれを修正する方法を知っていますか?このエラーは、ネットワークスペース上に存在する場所が原因で、nugetまたは自分のプロジェクトからのカスタムアセンブリに対して発生しますが、EFテンプレートコントローラーを追加しようとした場合のみです。プログラムをビルドして実行できます。

72
SventoryMang

<loadFromRemoteSources enabled="true" />C:\[Visual Studio 2010 Install Dir]\Common7\IDE\devenv.exe.configのすぐ下の<runtime>に追加してみて、それが役立つかどうかを確認してください:)

82
hawkke

Windows Explorerのファイルプロパティダイアログで[ブロック解除]をクリックする必要がありました。

120

追加のソリューションとして、最近このような問題が発生しました。解決策は、ファイルのブロックを解除することでしたが、ひねりが加えられました。ファイルをZipファイルでサーバーにコピーしました。 Zipアーカイブからファイルを抽出したとき、それらはすでにブロックされていました。ファイルのブロックを解除できませんでした。ブロック解除ボタンをクリックしてから[OK]をクリックします。プロパティを見ると、ブロックされたままです。

私たちがしなければならなかったのは、すべてのブロックされたファイルを削除し、ソースZipファイルのブロックを解除し、そしてthenファイルを抽出することです。その時点で、以前ブロックされていたファイルはブロック解除され、アプリケーションは正常に実行されました。誰かが欲求不満を避けるのに役立つことを願っています。

編集:ファイルのブロックを解除するには、管理者としてWindows Explorerを実行する必要があると思います。

10
BardMorgan

この問題は、一部の必要なファイルがネットワークや共有場所などの「信頼できない場所」にあるという事実に起因しています(同じコンピューター上であっても)。場所が同じコンピューター上にある場合は、substコマンドラインオプションを使用できます。

9
Mbeware

これらのソリューションは私にとってもうまくいきませんでした。

私の場合、マップされたネットワークドライブ上のファイルにアクセスしていました。私にとっての解決策は、次の手順を実行して、ネットワークIPアドレスを信頼できるドライブとして追加することでした。

  1. コントロールパネル
  2. ネットワークと共有センター
  3. インターネットオプション(ウィンドウの左下)
  4. セキュリティタブ
  5. 「ローカルイントラネット」を選択します
  6. [サイト]ボタンをクリックします
  7. 「詳細設定」ボタンをクリックします
  8. ネットワークドライブのIPをゾーンに追加します。

他のすべてのオプションでこれが機能した理由はわかりませんが、これが問題を解決した理由です。すべてのプロジェクトとソリューションが問題なくビルドされます。

8
brendo234

私はこの問題に関する他のフォーラムから見ました、そして誰かが投稿した解決策は次のとおりです:DLL読み込まれないビルド設定、および方法「シリアル化アセンブリの生成:」と書かれている下部では、デフォルトはAutoです。これをOffに設定すると、ソリューションは正常にビルドされます。

これは、複数のプロジェクトがあるWebフォームソリューションでAPIを使用していたときに起こりました。単一プロジェクトソリューションのMVCでは問題なく機能しました。

8
Yogi

これらのソリューションはどれも私にとってはうまくいきませんでした。代わりに、sgen.exe.config via https://stackoverflow.com/a/3407750/516512

2
Farshid
  1. ファイルのプロパティダイアログで[ブロックを解除]をクリックする必要がありました。

  2. ファイルが読み取り専用かどうかを確認してから、チェックを外して最初のステップを実行してください(これでさらに時間を無駄にする前に:))

2
avulosunda

ここでの他の回答は、PowerShellでこの問題を理解するのに役立ちました。実行Unblock-File <filename>実行中のスクリプトからアクセスできるようにします。

1
Andacious

ファイルのブロックを解除してみてください desbloquer

これで問題が解決しました。