38

.Net 4.0 : 取得エラー

ネットワークの場所からアセンブリを読み込もうとしたため、アセンブリがサンドボックス化されました

適用された設定

<loadFromRemoteSources enabled="true"/>

役に立ちませんでした。どのアセンブリが問題を引き起こしているかを知るにはどうすればよいですか? どうすれば解決できますか?

4

5 に答える 5

9

「ネットワークの場所」が言及されていて、DLL をローカルで (つまり、リモートではなく) 使用しているのを見たことがありますが、それはリモートの場所 (インターネット ファイル共有サイトなど) からコピーされたものです。

この場合の秘訣は、ストリームの概念が原因で DLL がブロックされているのではないかと疑ったことですが、エクスプローラーの UI プロパティ ダイアログに [ブロック解除] ボタンが表示されませんでした。

これを回避するために、次のように sysinternals ツールの "streams" (ここにあります: Streams ダウンロード) を使用しました。

streams <your dll> -> view stream
streams -d <your dll> -> delete the stream data on a file

ファイルのグループをターゲットにする場合は、 -r を使用した再帰オプションもあります。

これが他の誰かに役立つことを願っています-UIがブロックされていることを示さなかったため、注意が必要でしたが、明らかにブロックされていました(おそらく、ここでの他のセキュリティ対策によるものです)。

このソリューションは、loadFromRemoteSources フラグを調整する必要がないことも意味します。

于 2018-01-04T15:20:35.133 に答える
3

問題のあるアセンブリを見つけるには、fuslogvw (Windows SDK の一部であるため、すべての Visual Studio と共にインストールされます) を使用します。

この問題を解決するには、実際には、loadFromRemoteSources 要素をアプリケーション構成ファイルに追加する必要があります。<runtime> 要素内に loadFromRemoteSources を追加したことは確かですか?

または、 MSDNが言うように、.NET 4.5 にアップグレードすることもできます。

.NET Framework 4.5 では、ローカル ネットワーク共有上のアセンブリは既定で完全信頼として実行されます。要素を有効にする必要はありません

于 2013-08-02T12:46:19.137 に答える