107

VS2010で奇妙な問題が発生しています。TFSを使用してAPIdllを構築し、プロジェクトでそれらを参照して、完全に信頼されたマップされたネットワークドライブを使用していました。私たちは少なくとも2年間そのように働いており、すべてが完璧に機能しました。

今日、私はWebアプリをvs2010に変換し、リリースでコンパイルすると、次のようになります。

SGEN:エラー:ファイルまたはアセンブリ'file:/// L:\ Api \ Release API_20100521.1 \ Release\CS.API.Exceptions.dll'またはその依存関係の1つを読み込めませんでした。操作はサポートされていません。(HRESULTからの例外:0x80131515)

奇妙なことに、デバッグプロファイルの下にあるときに機能しています...

追加してみました

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

app.configに追加しても、まだ運がありません(http://social.msdn.microsoft.com/Forums/en/msbuild/thread/d12f6301-85bf-4b9e-8e34-a06398a60df0およびhttp://msdn.microsoft.com/を参照してください) en-us / library / dd409252(VS.100).aspx

参照されているすべてのdllがbinフォルダーにコピーされるため、本番環境ではコードがネットワーク共有から実行されないため、この問題はVisualStudioまたはmsbuildに起因するものと確信しています。

誰かが解決策(または検索パスのアイデア)を持っている場合は、私に知らせてください!

編集:シリアル化アセンブリの生成がオフになっているため、デバッグモードで動作していたことがわかります。タイトルが示すように、パスが信頼されていないことを示すのはこのユーティリティであるため、これは実際にはSGENの問題です...

4

13 に答える 13

216

このエラーを修正するには、WindowsエクスプローラーでアセンブリDLLを見つけ、右クリックして[プロパティ]を選択し、[ブロック解除]ボタンを押します。DLLには、外部ファイルとしてマークしているストリームがあります。[ブロック解除]をクリックすると、その指定が削除されます。

于 2010-11-16T07:09:35.937 に答える
60

ビルドがネットワーク共有からdllを参照していたTFSビルドサーバーで、同じ/類似の問題が発生しました。

問題は、CLR v4 セキュリティ ポリシー モデルが以前のバージョンから変更され、以前のようにアセンブリをサンドボックス化していないことです。

問題を解決するには、sgen.exe の場所を見つけて、同じフォルダーに次の内容で sgen.exe.config を作成します。

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

sgen.exe は通常

"C:\Program Files\Microsoft SDKs\Windows\v[current version]\bin\NETFX 4.0 Tools"

.NET 4.0 の CAS ポリシーに関するいくつかの変更については、次のブログ投稿で読むことができます:リンク

于 2010-08-04T16:42:57.040 に答える
24

同じ問題があり、構成の変更が機能しませんでした。プロジェクトのプロパティでGenerate Serialization Assemblyをオフに設定した場合にのみ機能しました。

于 2010-11-22T03:27:24.247 に答える
6

同じエラーが発生し、DLL が「ブロック」されていることがわかりました。エクスプローラーで DLL を開き、右クリック -> プロパティ -> [ブロックの解除] を押します。

http://cantgrokwontgrok.blogspot.com/2009/10/visual-studio-unknown-build-error.html

于 2011-06-22T17:41:39.510 に答える
3

これとまったく同じ問題があり、C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools の下に sgen.exe.config を追加して修正しました。

他の人が言ったように、この単純な構成で

<?xml version ="1.0"?>
<configuration>
  <runtime>
    <loadFromRemoteSources enabled="true" />
  </runtime>
</configuration>
于 2011-08-08T20:08:05.263 に答える
2

TFS ビルド サービスの 64 ビット バージョンを実行している場合は、次のパスに構成ファイルを作成する必要がありました。

 C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64

そしてファイルの内容:

<?xml version ="1.0"?>
<configuration>
<runtime>
    <loadFromRemoteSources enabled="true" />
</runtime>
</configuration>
于 2014-02-21T21:41:33.180 に答える
1

同じ問題があり、アセンブリをGACにロードして作業しました

于 2010-07-22T16:21:50.350 に答える
1

以下のスニペットを app.config ファイルに追加すると、私の場合はうまくいきました。VS2010 Service Pack 1 を適用した Windows XP を実行しています。

<configuration>
  <runtime>
    <loadFromRemoteSources enabled="true" />
  </runtime>
</configuration>
于 2011-04-19T03:49:30.920 に答える
0

どちらunblockconfig私のために働いた。私にとってのトリックは、についてのこのヒントcaspolでした。走った

 %windir%\Microsoft.NET\Framework\v2.0.50727\CasPol.exe -m -ag 1.2 -url file://UncPathName/UncSubPath/* FullTrust

そして、VisualStudio を再起動する必要さえなく、準備ができていました。

于 2012-03-01T12:30:05.227 に答える
0

Windows 7 を実行している場合の参考までに、sgen.exe ファイルは次の場所にあります。

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 ツール

sgen.exe.config を作成してそこに配置する必要がありましたが、この問題は解消されました。

于 2011-06-28T13:23:53.040 に答える
0

同様の問題が発生し、ソリューションの Properties フォルダーにある licenses.licx ファイルを削除することで、最終的に解決しました。

于 2015-08-11T15:03:35.230 に答える