.NET 4デスクトップアプリケーションからWCFクライアントを開くと、次の例外が発生します。これは、クライアントインストールの1つでのみ発生しているようです。
Request for the permission of type 'System.Net.WebPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed
誰かがこれを解決する方法を知っていますか?
.NET 4デスクトップアプリケーションからWCFクライアントを開くと、次の例外が発生します。これは、クライアントインストールの1つでのみ発生しているようです。
Request for the permission of type 'System.Net.WebPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed
誰かがこれを解決する方法を知っていますか?
興味深いことに、CruiseControlから同じ問題が発生した誰かからの別の(未回答の)SOがあります:.Net 4CAS-タイプ'System.Net.WebPermission、System、Version = 4.0.0.0、Action:Demandのアクセス許可の要求。これがだまされてしまう可能性があります。しかし、それは答えられていないので、現時点では不公平です。
これは、3.5 sp1より前のネットワークセキュリティの問題に似ているようです。この問題では、アプリケーションがネットワークの場所から実行されると、CASを介して多くのアクセス許可が拒否されていました。
このブログ投稿が解決策を提供すると思いますが、実行可能ファイル自体がリモートの場所からロードされた場合は適用されない可能性があります(最初の解決策を確認してください)http://www.damirscorner.com/CodeAccessSecurityStrikesBackInNET4.aspx
ただし、.Net Framework 4セキュリティモデルの調査(前述のブログ投稿と同じ回避策を提供します)も適用されない可能性があります。これは、ネットワークの場所から実行されるホストされていないExesが、デフォルトで完全に信頼されて実行されることを意味します。あなたのものではありません!
これが機能しない場合に試すことの1つは、exe(および拡張機能としてすべての参照)に厳密な名前を付けることです。
Andrasの回答を読み、クライアントに提供する他のいくつかのアプリケーションを確認したところ、app.configファイルの次のコードで問題を分類できるようです(他のアプリケーションには存在しますが、問題が発生しているアプリケーションには存在しないため)。
<configuration>
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
</configuration>