2010-12-01 11 views
0

RTFをプレーンテキストに変換するカスタムアセンブリを作成しました。これは、SSRS 2008、Windows 2003 Server、rssrvpolicy.config変更、Excecution Account、およびIIS 6.0の設定でうまく動作します。Reporting Servicesカスタムアセンブリ

SSRS 2008R2、Win 2008、およびIIS 7を実行している新しいサーバーを作成しました。この新しい環境では動作せず、エラーは発生しませんが、代わりにSSRSサービスが再起動します。これは、System.Windows.Forms.RichTextBox()を参照する場合にのみ発生します。以下のコードを参照してください。

誰でも私に、この作業をさせるために何が必要か、テストする必要があるかもしれないという考えを伝えられますか?ログファイルとイベントビューアを確認しましたが、エラーは表示されません。 RichTextControlを呼び出さず、レポートにテキストを出力するだけで、アセンブリを呼び出すことができます。 System.Windows.Forms.RichTextBoxを参照しようとすると失敗します。私は運がないGACにもインストールしましたが、(?)する必要はなく、古いバージョンでは必要ありませんでした。

また、try/catchブロックをコードの周りに配置して、エラーが発生するかどうかを確認しました。私がちょうどエラーを投げると、私はメッセージを受け取ります。 RichTextBoxコントロールを呼び出すと、SSRSサービスが再起動されます。

マイコード:

using System; 
using System.Windows.Forms; 
using System.Diagnostics; 
namespace ConversionUtility 
{ 
    public class ConversionUtility 
    { 
     [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Assert, Unrestricted = true)] 
     public static string ConvertRTFToText(string richText) 
     { 
      string sText = ""; 

      try 
      { 
       // if I comment out these 3 lines, this will work 
       RichTextBox richTextBox = new System.Windows.Forms.RichTextBox(); 
       richTextBox.Rtf = richText; 
       sText = richTextBox.Text; 
       //throw new Exception("Log this error"); 
      } 
      catch (Exception e) 
      { 
       sText = "Error Caught: " + e.Message; 
      } 

      return sText; 
     } 
    } 
} 

私は、これらの権限が定義されています。私は下のCodeGroupを追加し、私がRichTextBoxを参照していなければ動作します。サービスはすぐに、私は)私はそれがのSystem.Windows.Formsへのアクセス権の問題を持っています考えている

<CodeGroup 
class="UnionCodeGroup" 
version="1" 
Name="SecurityExtensionCodeGroup" 
Description="Code group Conversion Utility" 
PermissionSetName="FullTrust"> 
<IMembershipCondition 
    class="UrlMembershipCondition" 
    version="1" 
    Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin  \ConversionUtility.dll" 
/> 

をSystem.Forms.Windows.RichTextBoxを(参照しようとしてリブートしますが、避難所」私は何をする必要があるかを理解することができました。これが働いているはずなので、事前に

おかげで、

ランディ

+0

新しいサーバーに依存関係がインストールされていない可能性がありますか? .NETランタイム3.5および4.0がインストールされていることを確認してください。 – Tahbaza

+0

ええ、どちらもインストールされています。依存関係のインストールが何を意味するかわからない私はVS2008が他のサーバーにインストールされていることを知っていますが、このサーバーにはインストールしたくありません。 – Iceman

答えて

2

は私がマイクロソフトに連絡終わりました。私は彼らの環境で働いているサンプルアプリケーションを彼らに与えました。 Reporting Services用に修正プログラムをインストールしていないことが判明しました。修正プログラムをインストールした後、すべてが機能しました。

ビルド10.50.1720 - SSRS 2008 R2 RTM(http://support.microsoft.com/kb/2072493)のCU2を適用しました。

関連する問題