我开发了一个简单的项目。我必须打印一些水晶报告。该项目在本地机器上运行得非常好,但是当我在网络托管服务器上运行时,它会在查看水晶报告时显示错误。
无法加载文件或程序集“CrystalDecisions.ReportAppServer.CommLayer,Version = 13.0.2000.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304”或其中一个依赖项。该系统找不到指定的文件。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。
异常详细信息:System.IO.FileNotFoundException:无法加载文件或程序集“CrystalDecisions.ReportAppServer.CommLayer,Version = 13.0.2000.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304”或其依赖项之一。系统找不到指定的文件。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
程序集加载跟踪:以下信息有助于确定无法加载程序集“CrystalDecisions.ReportAppServer.CommLayer,Version = 13.0.2000.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304”的原因。
警告:装配绑定日志记录已关闭。 要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1。 注意:程序集绑定失败日志记录会导致一些性能损失。 要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。
请任何人帮助我.....
答案 0 :(得分:6)
正如我在评论中所说,您的crystaldecisions.reportappserver.commlayer.dll
未复制/存在于您的服务器上。因此,您必须手动复制dll并粘贴到Bin
文件夹
要从visual studio项目中复制DLL
,请按照步骤
1.展开您的项目引用层次结构(项目不应该在调试模式中)
2.右键单击特定
Dll
(在您的情况下为crystaldecisions.reportappserver.commlayer.dll
)并选择属性并设置'复制本地'属性为 TRUE3构建您的项目。 Dll应该在
BIN
文件夹中。
答案 1 :(得分:5)
移动到新笔记本电脑后,我遇到了同样的错误(Windows 10)。除了如上所述将Copy Local设置为true之外,我还必须为.Net Framework安装Crystal Reports 32位运行时引擎,即使其他所有内容都设置为在64位环境中运行。希望有所帮助。
答案 2 :(得分:1)
为每个crystaldecisions文件版本编辑Web配置使其与dll文件中的版本相同(从右键单击并从解决方案资源管理器中选择属性) 例如。 crystaldecisions.reportappserver.commlayer.dll - > 13.0.2000.0 将晶体报告升级到CRforVS_13_0_21后,将其编辑为---> 13.0.35.00.0
答案 3 :(得分:1)
我在搬到新笔记本电脑时遇到了同样的问题,并使用以下步骤来解决它
答案 4 :(得分:0)
在第一个盘子里你必须检查:
http://downloads.i-theses.com/index.php?option=com_downloads&task=downloads&groupid=9&id=101
(例如)crystaldecisions.reportappserver.commlayer.dll
答案 5 :(得分:0)
以某种方式我在项目中注册了错误版本的DLL。
答案 6 :(得分:0)
我遇到了同样的问题,并按照以下步骤解决了
1)在解决方案资源管理器中转到右侧
2)点击您的Project Name
3)点击Reference
4)您可以在某些DLL上看到黄色符号
5)右键单击该DLL,然后转到Property
6)找到Specific Version = True
替换为Specific Version = False
,然后将Copy Local = False
更改为Copy Local = True
答案 7 :(得分:0)
对我来说,它是“首选32位”:清除该复选框允许CLR加载Crystal Reports 64位运行时(仅安装了一个)。
答案 8 :(得分:0)
CR已更改程序集的版本号。旧版本是13.0.2000.0(这是一个不兼容的版本问题)。新版本是13.0.3500.0或13.0.4000.0-这是针对我的Visual Studio 2019和.net 4.7.2和Window Server 2019的测试用例。您需要打开所有项目,删除旧的dll引用并添加新的参考。然后再次构建应用程序。
我从消息来源中学到:
最佳答案:https://answers.sap.com/questions/303438/could-not-load-file-or-assembly-%27crystaldecisionsr.html
安装说明 Visual Studio 2017的Crystal报表: https://www.tektutorialshub.com/crystal-reports/crystal-reports-download-for-visual-studio/#Service-Pack-16
要删除:右键单击引用下的部件以将其删除。
这是错误的出处-这正是错误消息的输出:
错误消息:
无法加载文件或程序集...找到的程序集清单 定义与程序集引用不匹配...
位置错误消息指的是:
“ C:\ Visual-Studio-2019-Proj \ Proj Windows库存\ Proj Windows Inventory \ obj \ x86 \ Debug \ Press HDL Windows Inventory.exe.manifest“
它看起来像这样:
-。net 3.5和CReports version =“ 13.0.2000.0”和VS2012的较旧版本:
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CrystalDecisions.CrystalReports.Engine.dll" size="372736">
<assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" version="13.0.2000.0" publicKeyToken="692FBEA5521E1304" language="neutral" processorArchitecture="msil" />
-。net 4.7.2和CReport version =“ 13.0.4000.0”和VS2019的较新版本:
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CrystalDecisions.CrystalReports.Engine.dll" size="373248">
<assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" version="13.0.4000.0" publicKeyToken="692FBEA5521E1304" language="neutral" processorArchitecture="msil" />
答案 9 :(得分:0)
For visual studio 2019
change the code in aspx.cs page
<%@ Register Assembly="CrystalDecisions.Web, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
in web config:
<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null"/>
</sectionGroup>
</sectionGroup>
</configSections>
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.ReportSource, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Shared, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Web, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
<add assembly="Microsoft.ReportViewer.Common, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.ReportSource, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Shared, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Web, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
</assemblies>
<buildProviders>
<add extension=".rpt" type="CrystalDecisions.Web.Compilation.RptBuildProvider, CrystalDecisions.Web, Version=13.0.4000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</buildProviders>
答案 10 :(得分:-1)
如果对项目具有,并且“复制本地”标志为true,则解决方案应仅是项目。将DLL复制到bin文件夹。