Reporting services 未找到SSRS传递扩展
我正在尝试为SSR开发一个交付扩展。 我用一个类创建了一个dll。该类同时实现IExtension和IDeliveryExtension接口。我将生成的dll文件(Reporting services 未找到SSRS传递扩展,reporting-services,subscription,extensibility,Reporting Services,Subscription,Extensibility,我正在尝试为SSR开发一个交付扩展。 我用一个类创建了一个dll。该类同时实现IExtension和IDeliveryExtension接口。我将生成的dll文件(MyExtension.dll)复制到报表的服务器bin文件夹中。它不在默认位置,但不应该是问题: D:\SSRS\MSRS13.MyInstanceName\Reporting Services\ReportServer\bin 在rsreportserver.config中,我在Extensions/Delivery中添加了以下内
MyExtension.dll
)复制到报表的服务器bin文件夹中。它不在默认位置,但不应该是问题:
D:\SSRS\MSRS13.MyInstanceName\Reporting Services\ReportServer\bin
在rsreportserver.config中,我在Extensions/Delivery中添加了以下内容:
<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>
创建新订阅时,我看不到扩展。在日志中,我不断收到以下错误:
扩展工厂!ReportServer_0-1!155c!2019年2月18日-17:34:56::e错误:实例化我的扩展报表服务器扩展时捕获异常:
Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
Konfigurationsfehler beim Berichtserver:。-->
System.IO.FileNotFoundException:无法加载文件或程序集
“MyExtension.dll”或其依赖项之一。系统找不到
指定的文件。。
图书馆!ReportServer_0-1!1c78!2019年2月18日-17:34:56::e错误:抛出
Microsoft.ReportingServices.Diagnostics.Utilities.NotEnabledException:
,
Microsoft.ReportingServices.Diagnostics.Utilities.NotEnabledException:
这是一个很好的例子
我将MyExtension.dll添加到GAC并重新启动了报表服务器。我已将dll文件的完全权限授予SSRS windows服务帐户,并验证该帐户是否可以看到它。还是没有成功
我遗漏了什么?我终于找到了问题所在,它是.NET framework版本。我的程序集是为.NETFramework 4.6.1编译的当我切换到.NET Framework 3.5时,一切正常。 详情如下: Microsoft SQL Server Reporting Services(SSRS)通过包含自定义扩展和自定义代码来支持扩展。但是,SSRS不支持基于Microsoft.NET Framework 4.x的程序集。因此,您无法加载.NET Framework 4.x程序集 还有一个问题,因为我无法引用使用.NET Framework 4.x生成的程序集
无论如何,我希望这可以帮助某人…这可能表明您的自定义扩展类正在引用未部署在该服务器上的程序集。非常感谢您的提示!我检查了-程序集仅引用Microsoft.ReportingServices.Interfaces.dll。此库位于报表服务器的bin文件夹中。请查看此答案。它与订阅中为报表定义的多种语言或与预期语言不同的语言有关,也许这是类似的?-->谢谢你的链接,我会查的。服务器的区域设置是瑞士-德国,所以肯定与此有关。我检查了链接,似乎没有关联。我想知道dll是否需要一些资源文件或类似的东西,因此它对服务器不可见。。。