点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在将所有应用程序从 ASP.NET 2.0转换为4.6.1-一切都没有 使用CrystalReports可以正常工作。 在我的计算机上运行的程序和报告工作正常。 但是,一旦我将它们移至生产服务器,就会收到著名的log4net版本不匹配错误,该错误困扰了不幸的CR用户多年,而且显然在后续发行版中未修复。
以前的文章都没有对我有帮助。 无需通过Visual Studio进行部署,我们只需将应用程序从我的计算机移动到甚至没有安装CR Developer的生产服务器上,因此GAC中甚至不应包含log4net。 我无法从错误中找到对旧版本的任何引用,但是一旦我在程序中定义了新报表,就会得到以下内容。 我希望得到任何帮助:
"/img/DW/Board"应用程序中的服务器错误。
无法加载文件或程序集'log4net,版本= 1.2.10.0,区域性=中性,PublicKeyToken = 692fbea5521e1304'或其依赖项之一。 找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)
描述:在执行当前Web请求期间发生未处理的异常。 请查看堆栈跟踪以获取有关错误及其在代码中起源的详细信息。
异常详细信息:System.IO.FileLoadException:无法加载文件或程序集'log4net,版本= 1.2.10.0,区域性 = neutral,PublicKeyToken = 692fbea5521e1304'或其依赖项之一。 找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)
源错误:
第19行:公共类CrystalReport:ReportClass {
第20行:
第21行:public CrystalReport(){
第22行:}
第23行:
源文件:\\ stw-fimweb01 \ data \ AIRS \ DW \ Board \ Board \ CrystalReport.cs行:21
Assembly Load Trace:以下信息可以帮助确定为什么 无法加载程序集'log4net,版本= 1.2.10.0,文化=中性,PublicKeyToken = 692fbea5521e1304'。
WRN:程序集绑定日志记录已关闭。
若要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1。
注意:程序集绑定失败日志记录会带来一些性能损失。
要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。
堆栈跟踪:
[FileLoadException:无法加载文件或程序集'log4net,版本= 1.2.10.0,Culture =中性,PublicKeyToken = 692fbea5521e1304'或其依赖项之一。 找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)
CrystalDecisions.Shared.SharedUtils.cctor()+0
[TypeInitializationException:" CrystalDecisions.Shared.SharedUtils"的类型初始值设定项引发了异常。
CrystalDecisions.Shared.SharedUtils.get_CurrentControl()+26
CrystalDecisions.Shared.SharedUtils.GetEffectiveCulture()+10
CrystalDecisions.CrystalReports.Engine.CREngineRes.GetString(字符串名称)+13
CrystalDecisions.CrystalReports.Engine.ReportDocument.CheckForCrystalReportsRuntime()+215
CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()+214
[TypeInitializationException:" CrystalDecisions.CrystalReports.Engine.ReportDocument"的类型初始值设定项引发了异常。
CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()+0
CrystalDecisions.CrystalReports.Engine.ReportClass..ctor()+26
\\ stw-fimweb01 \ data \ AIRS \ DW \ Board \ Board \ CrystalReport.cs中的Board.CrystalReport..ctor():21
\\ stw-fimweb01 \ data \ AIRS \ DW \ Board \ Board \ ViewItem.aspx.cs中的Board.ViewItem..ctor():28
ASP.viewitem_aspx..ctor()+16
__ASP.FastObjectFactory_app_web_2t41pm4i.Create_ASP_viewitem_aspx()+31
System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath,类型requiredBaseType,HttpContext上下文,布尔allowCrossApp)+132
System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext上下文,字符串requestType,VirtualPath virtualPath,字符串physicalPath)+44
System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+375
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)+195
System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值并已完成同步)+128
版本信息::Microsoft .NET Framework版本:4.0.30319; ASP.NET 版本:4.7.3429.0
您不能仅"移动"或复制Crystal for VS程序集。 相反,您必须安装其中一个运行时的版本与您用于开发应用程序的SP相匹配。 SDK的内部基础仍然包含一些必须注册的COM对象,并且还需要设置其他注册表设置,因此要使事情正常运行的唯一方法是安装运行时。
-Dell
"因此,据我了解,我需要为服务器管理员找到单独的CR下载文件,以便直接在服务器上安装?"
是的,这是正确的 。 它必须与用于开发应用程序的运行时版本相同。 当前的最新版本是SP25。您可以在此处下载: https: //www.sap.com/cmp/td/sap-crystal-reports-visual-studio-trial.html 。 如果在构建应用程序时未使用此版本,则需要升级到该版本。
否,您不需要Web服务器上的许可证。 但是,您需要在这里转到VS的Crystal Wiki: https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads 。 在底部,"相关内容"下方是指向许可信息的链接。 如果您拥有完整版的Crystal 2016,但您的网站未吸引到公司以外的用户,那么我认为您不需要其他任何许可。 该文档说明了许可证的所有排列方式,具体取决于您是向内部用户还是外部用户提供报告。
-Dell
一周热门 更多>