无法在报告服务中加载文件或程序集

时间:2012-11-14 13:33:07

标签: reporting-services

我创建了一个用于报告本地化的项目,该项目包含一个类文件和三个.resx文件。在类文件中,我编写了代码,根据文化查找适当的.resx文件,并读取给定键的值。

之后,我构建项目,将.dll复制到“ C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies ”并更改RSPreviewPolicy.config,我在其中添加了一个用于报告本地化的新PermissionSet和一个为.dll提供权限的CodeGroup标记。

我做的下一步是创建报告,引用.dll并编写一个表达式来测试本地化。

我收到了以下错误:

“无法加载表达式主机程序集。详细信息:无法加载文件或程序集

我显然错过了一些东西,但我无法弄清楚是什么?

有人知道该怎么做吗?

1 个答案:

答案 0 :(得分:8)

我找到了答案。问题是在Visual Studio预览模式下查看报告的权限。

首先,我将 dll (带本地化课程)放到下一个位置:

C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies

之后,我需要更改存在于同一文件夹位置的RSPreviewPolicy.config文件,以应用一些安全权限。

问题,我提到我添加了一个 PermisionSet ,但现在我确定没有必要。

我刚刚更改了两个具有Execution权限级别的 CodeGroup 部分,以获得FullTrust权限级别,如下所示:

<CodeGroup
    class="UnionCodeGroup"
    version="1"
    PermissionSetName="FullTrust"
    Name="Report_Expressions_Default_Permissions"
    Description="This code group grants default permissions for code in report expressions and Code element. ">
    .
    .
    .
</CodeGroup>
<CodeGroup
    class="FirstMatchCodeGroup"
    version="1"
    PermissionSetName="FullTrust"
    Description="This code group grants MyComputer code Execution permission. ">
    .
    .
    .          
</CodeGroup>

关于您的Visual Studio版本,您必须选择适当的文件夹路径:

  • for VS 2015 --- C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ PrivateAssemblies
  • for VS 2013 --- C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ PrivateAssemblies
  • for VS 2010 --- C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies