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

时间:2015-09-21 22:18:09

标签: reporting-services ssrs-2008-r2

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

我将此自定义Dll codelibrary.dll添加到我的SSRS报告中。以及

字段之一的表达式
=codelibrary.codefunction.GetValue(1000)  

代码函数是类,GetValue是方法。

当我预览报告时,我在加载代码模块时收到错误"错误:' CodeLibrary,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'。无法加载文件或程序集' CodeLibrary,Version1.0.0.0,Culture = neutral,PublicKeyToken = null'或其中一个依赖项。系统找不到指定的文件。"

我正在使用VS2013,我已将自定义库DLL放在路径中 C:\ Program Files \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ PrivateAssemblies

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

我无法弄清楚导致此错误的原因。

4 个答案:

答案 0 :(得分:5)

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

  

C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin

答案 1 :(得分:4)

我没有修改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

答案 2 :(得分:1)

您应该将自定义库复制到ReportServer \ Bin文件夹ex: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"
/>

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

希望得到这个帮助。

答案 3 :(得分:1)

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