找不到SSRS传递扩展

时间:2019-02-18 17:12:35

标签: reporting-services subscription extensibility

我正在尝试为SSRS开发交付扩展。 我用一个类创建了一个dll。该类同时实现IExtension和IDeliveryExtension接口。我将生成的dll文件(MyExtension.dll)复制到了报表的服务器bin文件夹中。它不在默认位置,但是应该没有问题:

  

D:\ SSRS \ MSRS13.MyInstanceName \ Reporting Services \ ReportServer \ bin

在rsreportserver.config中,我在扩展/传递中添加了它:

<Extensions>
        <Delivery>
            <Extension Name="My Extension" Type="My.Extensions.MyExtension,MyExtension" Visible="true" />

在rssrvpolicy.config中,我有这样的内容:

<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust">
    <IMembershipCondition class="UrlMembershipCondition" version="1" Url="$CodeGen$/*" />
</CodeGroup>
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="MyCustomCodeGroup" Description="trying out delivery extension">
    <IMembershipCondition class="UrlMembershipCondition" version="1" Url="D:\SSRS\MSRS13.MyInstanceName\Reporting Services\ReportServer\bin\MyExtension.dll" />
</CodeGroup>

创建新订阅时看不到扩展名。在日志中,我不断收到此错误:

  

extensionfactory!ReportServer_0-1!155c!02/18 / 2019-17:34:56 :: e错误:实例化我的扩展报告服务器扩展时捕获到异常:   Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:   Konfigurationsfehler beim Berichtsserver :。 ->   System.IO.FileNotFoundException:无法加载文件或程序集   “ MyExtension.dll”或其依赖项之一。系统找不到   指定的文件。   库!ReportServer_0-1!1c78!02/18 / 2019-17:34:56 :: e错误:抛出   Microsoft.ReportingServices.Diagnostics.Utilities.NotEnabledException:   ,   Microsoft.ReportingServices.Diagnostics.Utilities.NotEnabledException:   死于抗衰老。;

我将MyExtension.dll添加到GAC并重新启动了报表服务器。我已将dll文件的完全权限授予了SSRS Windows服务帐户,并确认该帐户可以看到它。仍然没有成功...

我想念什么?

1 个答案:

答案 0 :(得分:0)

我终于找到了问题,它是.NET Framework版本。我的程序集是为.NET Framework 4.6.1编译的。 当我切换到.NET Framework 3.5时,一切正常。

以下是详细信息: https://support.microsoft.com/en-us/help/2869522/the-net-framework-4-x-assemblies-are-not-supported-in-sql-server-repor

  

Microsoft SQL Server报告服务(SSRS)通过包括自定义扩展名和自定义代码来支持扩展。但是,SSRS不支持基于Microsoft .NET Framework 4.x的程序集。因此,您不能加载.NET Framework 4.x程序集。

还有另一个问题,因为我无法引用使用.NET Framework 4.x构建的程序集...

无论如何,我希望这可以帮助某人...