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

per*_*Dev 8 reporting-services ssrs-2008-r2

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

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

=codelibrary.codefunction.GetValue(1000)  
Run Code Online (Sandbox Code Playgroud)

codefunction是类,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应用程序测试了自定义库,它工作正常.

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

per*_*Dev 5

我不必修改 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


小智 5

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

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


Tha*_*Mai 2

您应该将自定义库复制到 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"
/>
Run Code Online (Sandbox Code Playgroud)

之后,从 Reporting Service 配置管理器停止和启动 Reporting Service。

希望这有帮助。