繁体   English   中英

Log4net.dll + C#+ Crystal Reports =错误

[英]Log4net.dll + C# + Crystal Reports = error

请原谅我,如果它之前已被回答,但我在网上搜索,发现只有绝望的人问我的问题,但没有人给出我可以使用的任何答案。

我正在使用Crystal Reports在C#Visual Studio 2010中开发一个应用程序。 我正在开发32位系统。 一切正常。

现在我试图在另一台64位系统的计算机上运行它,安装了Crystal Reports并发生了一些可怕的错误。

************** Tekst wyjątku **************
System.TypeInitializationException: Inicjator typów zgłosił wyjątek dla typu
 'CrystalDecisions.ReportSource.ReportSourceFactory'. ---> System.TypeInitializationException:
 Inicjator typów zgłosił wyjątek dla typu 'CrystalDecisions.Shared.SharedUtils'. --->
 System.IO.FileLoadException: Nie można załadować pliku lub zestawu 

'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' lub jednej z jego zależności.

在那里请原谅我一些波兰语。 它基本上意味着它找不到某些特定版本的log4net.dll文件,这个文件显然必须被某些东西使用。

许多地方都描述了这个问题:

log4net没有记录和抛出错误

http://scn.sap.com/thread/1857957

据我所知,我的应用程序使用/期望此文件的某些版本和64位计算机上安装的Crystal Reports使用另一个版本。

浏览互联网后,我不知道应该采取什么措施来纠正它。

我真的很感激一些“傻瓜教程”如何处理它。

哦,我的应用程序需要构建为32位并在64位上运行。 不可能将它构建为64位,另一件事会停止工作:(

安装CR 32位(CRRuntime_32bit_13_0_14.msi)将解决该错误。

32位和64位版本可以在这里找到。

嗯,这里反应不多:)从那时起我就自己学到了一些东西,并且认为我会与可能遇到类似问题的任何可怜的初学者分享我的知识。

所以有像GAC这样的东西 - http://en.wikipedia.org/wiki/Global_Assembly_Cache你可能会认为它是你的程序使用的库和驱动程序的集合。

它位于您的计算机上的c:/ windows / assembly中,但它是一个隐藏目录,因此首先必须启用它。

在我的64位计算机上,它包含GAC_32和GAC_64子目录。 在GAC_64中有log4net:

c:\Windows\assembly\GAC_64\log4net\1.2.10.0__692fbea5521e1304\

在GAC_32中什么都没有。 所以我创建了目录并将我32台计算机中的相应文件复制到其中并且它有效。

c:\Windows\assembly\GAC_32\log4net\1.2.10.0__692fbea5521e1304\

不久之后,我遇到了另一个错误,但这是一个不同的故事

CrystalDecisions.CrystalReports.Engine.ReportDocument'. ---> System.IO.FileNotFoundException: Nie można załadować pliku lub zestawu 'CrystalDecisions.ReportAppServer.CommLayer, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304

通常期望在32位计算机上使用Crystal Reports构建的任何东西在尝试在64位计算机上运行时都会出现问题。 对于这些驱动程序,SAP确实是一个糟糕的工作。

您是否在目标计算机上安装了用于.NET Framework(64位)的SAP Crystal Reports运行时引擎? 如果没有,您可以尝试从此链接安装它,看看它是否能解决您的问题。

此外,如果您在64位平台上仅安装了32位版本,则会出现相同的Log4net错误; 版本,32和64位都是必需的。

奇怪的是,64位msi在SAP 32bits文件夹(C:\\ Program Files(x86)\\ BusinessObjects \\ Crystal Reports for .NET Framework 4.0 \\ Common \\ SAP BusinessObjects Enterprise XI 4.0 \\ win32_x86 \\ dotnet \\)中配置了DLL,而32bits安装程序没有。

在我的情况下,安装CR 64位不是一个选项,但我能够通过在IIS中的应用程序池上启用32位应用程序来解决此问题。 (见这个答案 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM