.net - microsoft - ネットワーク上の場所からアセンブリを読み込もうとしました act




アセンブリをサンドボックス化させたネットワーク上の場所からアセンブリをロードしようとしました (2)

.Net 4.0: "アセンブリがサンドボックスになる原因となるネットワーク上の場所からアセンブリを読み込もうとしました"というエラーが表示される

<loadFromRemoteSources enabled="true"/>

助けてくれなかった。 どのアセンブリが問題を引き起こしているかを知るにはどうしたらいいですか? どうすれば解決できますか?


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

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

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

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


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

この場合のトリックは、ストリームのコンセプトによりDLLがブロックされている疑いがありましたが、エクスプローラのUIプロパティダイアログに「ブロック解除」ボタンが表示されませんでした。

この問題を回避するために、sysinternalsツール「ストリーム」(ここではStreamsのダウンロード )を以下のように使用しました。

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

また、ファイルのグループを対象にしたい場合には、-rを指定してrecurseオプションを指定します。

私はこれが他の誰かを助けてくれることを願っています - それはUIがブロックされていることを示していないので難しいですが、明らかに(これはおそらく他のセキュリティ手段によるものです)。

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





c#-4.0