2012-02-09 45 views
6

当部署我的应用程序来Appharbor的新版本采用了水晶报表组件:CrystalDecisions.CrystalReports.Engine我在appharbor部署日志中收到以下错误信息:的Crystal Reports大会上的部署Appharbor

ResolveAssemblyReferences: 
Primary reference "CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0,  Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL". 
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): warning MSB3245: Could not resolve this reference. 
Could not locate the assembly "CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL". 
Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. 

我在VS &的程序集引用中将“Copy Local”设置为True,该DLL存在于项目\ BIN目录中。

我是否需要创建DLL的本地(非GAC)副本,然后在项目中引用它?如果是这样的话,如果没有GAC版本仍然被引用,那么如何做到这一点?

或者我在部署方面做错了什么?

由于提前,

克里斯

回答

4

你应该将DLL添加到您与代码一起推动当地/lib文件夹。确保引用正确的dll最简单的方法是从GAC中删除原始代码,然后确保代码正常工作。

+0

继第一种方法(将dll复制到本地/ lib文件夹)启用了部署构建。但是在运行时,Crystal引擎会抛出一个错误。以下[链接](https://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=56787567)概述了Crystal运行时需要通过MSI进行安装,并且该应用程序DLL将不起作用。 Appharbor会支持这种安装Crystal的方法吗? – user1198587 2012-02-09 03:02:11

+0

嗯,似乎斌部署DLL的应该工作:http://aspadvice.com/blogs/rjdudley/archive/2005/05/22/2597.aspx - AppHarbor不会在应用程序服务器上安装Crystal Reports运行时。 – friism 2012-02-09 06:20:42