使用RDLC构建项目无法找到自定义程序集

时间:2011-04-11 16:43:05

标签: visual-studio build compiler-errors reportviewer rdlc

我已经把头发撕掉了三天试图在VS2010中制作RDLC报告。我想从子报表中的Text项的表达式中的同一解决方案中的另一个项目访问自定义程序集。在包含RDLC的项目中有一个对程序集的引用,我在子报表的属性中添加了对程序集DLL的引用,但是当我构建它时,我收到一个错误,告诉我它找不到该文件:

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

RDLC文件似乎没有XML中程序集的路径信息,我尝试将程序集的副本放在包含RDLC的项目下的bin \ Debug文件夹中,并且与RDLC位于同一文件夹中,但没有成功。

从我能找到的内容来看,看来我可能需要在GAC中注册程序集以使构建工作,但我找不到任何直接的确认并将其放入GAC只是为了让构建运行起来是一件非常麻烦的事情。

我错过了什么吗?

...... Jim Hansen

4 个答案:

答案 0 :(得分:11)

本文介绍了一个可行的解决方案:

Reporting Services – Custom report error (Error while loading code module: MarketingPilot.Framework.dll)

我将错误消息中引用的程序集复制到此文件夹:

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

这样做我可以毫无问题地调试应用程序。 :)

答案 1 :(得分:4)

在Visual Studio 2012中,我接受的答案对我来说很有效,但是相同的解决方案在Visual Studio 2013中不起作用。相反,我遵循this post的建议并在此处复制了dll:

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

答案 2 :(得分:2)

@rockariotphobia回答之后,对于visual studio 2015使用:

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

答案 3 :(得分:0)

我一直试图让这项工作工作几天,最后成功:

  1. 首先,您必须强烈输入您的dll https://msdn.microsoft.com/en-us/library/xc31ft41(v=vs.110).aspx

  2. 使用Gacutil.exe在GAC中注册(每次更新dll时都必须这样做。)

  3. 现在它可以工作......可能,在这样做之后我能够找到程序集但是我遇到了安全问题:“在本地报告处理期间发生了错误。” ......“通过安全透明方法尝试......”。

    我正在使用.NET 4.5,从winform加载报告。

    要在AssemblyInfo中解决这个问题,我必须添加2个属性:

                [assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]
    
                [assembly: System.Security.AllowPartiallyTrustedCallers]
    

    然后只需保存,然后在GAC中重新安装dll。

    我希望此信息可以帮助某人。

    此致

    Caridad