log4net错误:ASP.NET 4.6.1/CR2016 SP6/VS2017

2020-08-30 15:04发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在将所有应用程序从 ASP.NET 2.0转换为4.6.1-一切都没有 使用CrystalReports可以正常工作。 在我的计算机上运行的程序和报告工作正常。 但是,一旦我将它们移至生产服务器,就会收到著名的log​​4net版本不匹配错误,该错误困扰了不幸的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

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在将所有应用程序从 ASP.NET 2.0转换为4.6.1-一切都没有 使用CrystalReports可以正常工作。 在我的计算机上运行的程序和报告工作正常。 但是,一旦我将它们移至生产服务器,就会收到著名的log​​4net版本不匹配错误,该错误困扰了不幸的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

付费偷看设置
发送
2条回答
小灯塔
1楼 · 2020-08-30 16:06.采纳回答

您不能仅"移动"或复制Crystal for VS程序集。 相反,您必须安装其中一个运行时的版本与您用于开发应用程序的SP相匹配。 SDK的内部基础仍然包含一些必须注册的COM对象,并且还需要设置其他注册表设置,因此要使事情正常运行的唯一方法是安装运行时。

-Dell

compass1988
2楼-- · 2020-08-30 15:51

"因此,据我了解,我需要为服务器管理员找到单独的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

一周热门 更多>