2011-08-11 9 views
2

外部アセンブリを使用しているときに、このメッセージがSSRSレポートのプレビューウィンドウに表示されます。私は当初、外部アセンブリを呼び出す(最初は#エラーとしてスタートしました)この問題で日SSRS外部アセンブリ:式ホストアセンブリの読み込みに失敗しました

を費やしてきた

Failed to load expression host assembly. Details: That assembly does not allow partially trusted callers.

は大丈夫でした。その外部アセンブリがWebサービスを呼び出すたびに#Errorを取得します。だから私はthese directionsに続く、としてサービスを呼び出すための権限を追加するためのコードを追加しました:

var urlRegEx = new Regex(@"http://mydevserver\.com/.*"); 
var p = new WebPermission(NetworkAccess.Connect,urlRegEx); 
p.Assert(); 

p.Assertは、セキュリティ例外がスローされます。だから、私がやった最後のステップは、と上記のコード実行アセンブリに完全な信頼を追加しようとすることでした。それに完全な信頼を追加するために登場し

cespol -af myAssembly.dll //after strongly signing it 

。しかし、今私は上記のメッセージを得ています。

レポートが「表現ホストアセンブリ」および/または正確にここに欠陥があるアセンブリとして参照されているものが不明です。また、上記のリンクの指示に従って、レポートで参照される2つのアセンブリのCodeGroups(URL)を追加し、Microsoft Framework Configurationツールを使用してFullTrustを追加しました。

私が参照しているアセンブリでは、最初は少なくとも#Webサービスを呼び出すと#Errorが発生するという単純なコードを実行することができます。しかし、今、fulltrustを追加した後、私はもうこれを行うことができず、上記のエラーを繰り返しています。

SecurityException: Request for the permission of type SecurityPermission failed.

UPDATE

署名:

は、私は次のエラーを取得する、(castolユーティリティを使用して)参照アセンブリから完全な信頼を削除し、それにp.Assert()を呼び出す呼び出そうアセンブリは、この記事では主なエラーを引き起こしているものです。このエラーを回避する

答えて

2

片道(発現宿主アセンブリをロードできませんでした)

0123部分的に信頼できる発信者を許可するには、。

[assembly:AllowPartiallyTrustedCallers] 

これはまだ私の大きな問題を解決しませんが、このスレッドのエラーは消えます。さらなる調査が必要です。私の外部アセンブリが完全な信頼を持っているので、依然として「呼び出し元」が部分的に信頼できるものであるかどうかはわかりません。