无法从SSRS 3.0报告中找到.NET程序集

时间:2015-04-08 18:09:58

标签: visual-studio-2010 reporting-services .net-assembly reportbuilder3.0

我正在SSRS 3.0中开发一些报告,我遇到了麻烦。我有一个我需要调用的.NET方法,我无法让它工作。我发现了一些据说可以解释这个过程的“如何”网站,但我似乎无法使其发挥作用。作为第一个实验,为了证明我能做到这一点,我写了一个小的“HelloWorld”程序,它只返回两个连接在一起的字符串,并且之间有一个空格:

using System;

namespace HelloWorld
{
    public class Hello
    {
        public static string SayHello(string hello, string world)
        {
            return hello + " " + world;
        }
    }
}

我在Report Properties / References选项卡中定义了引用;但是当我尝试运行它时,我得到了

  

加载代码模块时出错:'HelloWorld,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'。详细信息:无法加载文件或程序集“HelloWorld,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”或其依赖项之一。系统找不到指定的文件。

我已将DLL复制到众多建议位置:

  • C:\ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies
  • C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies
  • C:\ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ Reporting Services \ ReportServer \ bin
  • 包含RDL文件的文件夹

似乎没什么用。

我见过编辑rssrvpolicy.config文件的参考;但我的系统没有。我可以创造它,但我不知道放在哪里。

我正在使用Visual Studio 2010,Report Builder 3.0和SQL Server CE(我的dev计算机上也安装了SQL Server;但它不会在目标计算机上)。我们不会使用报表服务器 - 目标计算机都是独立的,很少有网络访问权限。

如果我能提供任何其他信息,请告诉我。并感谢您提出的任何建议。

1 个答案:

答案 0 :(得分:0)

听起来像混合DLL的CPU架构问题。

如何编译DLL(x64,x84,AnyCPU)?

尝试匹配DLL以纠正服务器的CPU架构。然后清理解决方案并使用调试或发布进行编译(这没关系)。

确保在复制新DLL之前清除以前DLL的所有副本。 (只是为了安全起见)

如果这对您有用,请告诉我......