C# Reporting Services自定义程序集

C# Reporting Services自定义程序集,c#,ssrs-2008,reporting-services,C#,Ssrs 2008,Reporting Services,我创建了一个自定义程序集来将RTF转换为纯文本,它可以很好地与以下配置配合使用:SSRS 2008、Win 2003 Server、rssrvpolicy.config更改、EXECUTION帐户和IIS 6.0 我们创建了一个运行SSRS2008R2、Win2008和IIS7的新服务器。它在这个新环境下不工作,我也没有收到任何错误,但是SSRS服务会自动重新启动。这仅在我引用System.Windows.Forms.RichTextBox()时发生。请参阅下面的代码 谁能告诉我需要做些什么或做

我创建了一个自定义程序集来将RTF转换为纯文本,它可以很好地与以下配置配合使用:SSRS 2008、Win 2003 Server、rssrvpolicy.config更改、EXECUTION帐户和IIS 6.0

我们创建了一个运行SSRS2008R2、Win2008和IIS7的新服务器。它在这个新环境下不工作,我也没有收到任何错误,但是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;
        }
    }
}
我已经定义了这些权限。我在下面添加了代码组,如果我不引用RichTextBox,它就会工作。当我尝试引用System.Forms.Windows.RichTextBox()时,服务将立即重新启动


我认为它对System.Windows.Forms的权限有问题,但还没有弄清楚我需要做什么

提前感谢,


Randy

我最终联系了微软,因为这本该奏效的。当我在中给他们一个示例应用程序时,他们在他们的环境中工作。结果是他们为Reporting Services安装了一个修补程序,而我没有。安装修补程序后,一切正常


构建10.50.1720-为SSRS 2008 R2 RTM应用CU2(http://support.microsoft.com/kb/2072493).

可能是新服务器上缺少依赖项安装?请确保已安装.net运行时3.5和4.0。是的,两者都已安装。不确定依赖项安装是什么意思?我知道VS2008安装在另一台服务器上,但我们不想在这台服务器上安装它。
<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"
/>