在 SSRS 报告中添加自定义库时无法加载文件或程序集错误

Could not load file or assembly error on adding custom libraries in SSRS reports

我创建了一个自定义库 (CodeLibrary),它在内部引用 dll Microsoft.TeamFoundation.Client 和 Microsoft.TeamFoundation.WorkItemTracking.Client。

我将此自定义 Dll codelibrary.dll 添加到我的 SSRS 报告中。以及其中一个字段的表达式

=codelibrary.codefunction.GetValue(1000)  

codefunction 是 class,GetValue 是方法。

当我预览报表时,出现错误 "Error while loading code module: 'CodeLibrary,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null'. Could not load file or assembly 'CodeLibrary,Version1.0.0.0, Culture=neutral,PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified."

我用的是VS2013,我把自定义库DLL放到了路径 C:\程序Files\MicrosoftVisual Studio12.0\Common7\IDE\PrivateAssemblies

我已经使用 WPF 应用程序测试了自定义库,它工作正常。

我无法弄清楚是什么导致了这个错误。

您应该将自定义库复制到 ReportServer\Bin 文件夹,例如:C:\Program Files\Microsoft SQL Server\MSRS10_50.R2\Reporting Services\ReportServer\bin

然后修改ReportServer文件夹下的rssrvpolicy.config,找到“$CodeGen$”添加如下代码

<CodeGroup
    class="UnionCodeGroup"
    version="1"
    PermissionSetName="FullTrust"
    Name="CoDeMagSample"
    Description="CoDe Magazine Sample. ">
   <IMembershipCondition
        class="UrlMembershipCondition"
        version="1"
        Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.R2\Reporting Services\ReportServer\bin\YOURLIBRARY.dll"
/>

之后,从报告服务配置管理器停止和启动报告服务。

希望对您有所帮助。

我不必修改 rssrvpolicy.config 文件。 我将自定义 dll 添加到以下路径并且它有效:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin

在 visual studio 2015 年,我不得不将 dll 复制到:

C:\Program Files (x86)\MSBuild.0\Bin

添加 - 在 Visual studio 2019 年,我将 dll 复制到: C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE\CommonExtensions\Microsoft\SSRS