首页 > 其他分享 >.net framework 4.7.2 框架winform项目升级到.net 8.0项目 log4net不起作用的解决办法

.net framework 4.7.2 框架winform项目升级到.net 8.0项目 log4net不起作用的解决办法

时间:2024-12-23 13:42:03浏览次数:4  
标签:log4net 8.0 4.7 framework AssemblyInfo net

问题描述:

在.net framework 4.7.2 框架中的winform项目,引入log4net作为日志组件使用,一切正常,可以正常输出日志。

但项目框架升级到.net 8.0后,log4net的使用就报错,虽然网上有很多关于.net 8.0配置并使用log4net的方法,但有些我尝试没有用,有些代码所在位置看不懂在哪用
最后,我想到了.net 8.0肯定是可以向下兼容的,原来在.net framework 4.7.2使用的方法,也可以放在.net 8.0来参考使用!
我对比了两个框架各文件的位置,发现.net framework 4.7.2使用log4net组件,需要在Properties\AssemblyInfo.cs文件中追加一句:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config",ConfigFileExtension ="config",Watch = true)]。

可是.net 8.0框架中没有Properties文件夹,也没有其下的AssemblyInfo.cs文件(原因是.net 8.0以另一种方式生成AssemblyInfo内部的相关内容)!

 

我的解决方法:

直接在.net 8.0框架手动建立Properties\AssemblyInfo.cs文件,在AssemblyInfo.cs文件里,只加入一句:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config",ConfigFileExtension ="config",Watch = true)]

(因为其他内容在.net 8.0框架是以另一种方式在其他文件生成,此处若是再添加就会重复报错)。问题得以解决!

 

标签:log4net,8.0,4.7,framework,AssemblyInfo,net
From: https://www.cnblogs.com/Jesuslovesme/p/18623510

相关文章

  • Kubernetes Gateway API
    KubernetesGatewayAPIGatewayAPI是Kubernetes1.19版本引入的一种新的API规范,会成为Ingress的下一代替代方案。主要原因是Ingress资源对象不能很好的满足网络需求,很多场景下Ingress控制器都需要通过定义annotations或者crd来进行功能扩展,这对于使用标准和支持......
  • .net framework 4.7.2 winform框架项目升级到.net 8.0项目 界面比列失调问题解决
    一、问题发生前:在.netframework4.7.2winform框架开发的项目之前在.netframework4.7.2开发的winform项目,在visualstudio一打开的时候,虽然界面内有些控件也会失调,但是他会提示“使用100%缩放比例重新启动VisualStudio”点击“使用100%缩放比例重新启动VisualStudio”......
  • Java与容器化:如何使用Docker和Kubernetes优化Java应用的部署
    在现代软件开发中,容器化技术已成为提升应用部署和管理效率的关键工具。Java应用由于其庞大的依赖性和较大的体积,常常在传统环境下部署存在挑战。幸运的是,Docker和Kubernetes的出现为Java应用的开发、部署和管理带来了极大的便利。本文将介绍如何通过Docker和Kubernetes优化Java......
  • ModbusTCP从站转Profinet主站案例
     一.案例背景 在复杂的工业自动化场景中,企业常常会采用不同品牌的设备来构建生产系统。西门子SINAMICSG120变频器以其高性能、高精度的速度和转矩控制功能,在电机驱动领域应用广泛。施耐德M580可编程逻辑控制器则以强大的逻辑控制和数据处理能力著称,在自动化流程控制方面表......
  • .NET 9 New features-AOT相关的改进
    上一篇文章给大家介绍了.NET9Newfeatures-JSON序列化 本篇文章,研究分享一下关于AOT方面的改进1.什么是AOTAOT(Ahead-of-Time)编译是一种在应用程序部署之前,将高级语言代码直接编译为本机机器代码的技术。与传统的即时编译(Just-In-Time,JIT)不同,AOT在应用程序运行之前完成编......
  • Netty解决粘包半包问题
    1.定长,每次读取固定的数据量ChannelPipelinepipeline=ch.pipeline();pipeline.addLast(newFixedLengthFrameDecoder(10));//每条消息长度固定为10字节pipeline.addLast(newYourBusinessHandler());每条消息长度固定,接收端读取固定字节数作为一个完整的消息。粘包......
  • kubernetes介绍
    一、kubernetes入门Kubernetes是可移植、可扩展、开源的容器管理平台,是谷歌Borg的开源版本,简称k8s,可以创建应用、更新应用、回滚应用,也可以实现应用的扩容缩容,做到故障自恢复。可移植:基于镜像可从一个环境迁移到另一个环境。可扩展:k8s集群可横向扩展,根据流量实现自动扩缩容。......
  • C#(asp.net)房屋租赁管理系统-计算机设计毕业源码64421
    目 录摘要1绪论1.1研究背景与意义1.2开发现状1.3论文结构与章节安排2 房屋租赁管理系统分析2.1可行性分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3法律可行性分析2.2系统功能分析2.2.1功能性分析2.2.2非功能性分析2.3 系统用例......
  • 千峰教育--Netty 再学习 1 网络模型概述(BIO、NIO、AIO)、BIO 逻辑实现及其局限性(单线程
    课程介绍1网络模型概述2Channel详解3Buffer详解4Selector详解5NIO综合案例-聊天室6AIO概念及实现 1网络编程IO模型介绍1.1BLockingIOBlockingIO也称BIO,及同步阻塞IO。Java的io包基于流模型实现,提供了FIle,FileInputStream,FileOutputStream等输入输出流......
  • .NET 9 New features-JSON序列化
    .NET9已经发布有一段时间了,近期整理一下.NET9的新特性,今天重点分享.NET9JSON序列化方面的改进。先引用官方的说明:在 System.Text.Json 中,.NET9提供了用于序列化JSON的新选项和新的单一实例,可以更轻松地使用Web默认值进行序列化。举个实际的例子,缩进选项JsonSer......