- 2024-12-24WPF应用启动时,检测触摸失效的几种方式
在开发OPS项目,发现插拔式的OPS在切换系统、开关机、重启,会时不时出现部分WPF开机自启的应用触摸失效的问题。而且出现问题的应用都是全屏窗口应用。用snoop附加上去,没有Touch和Styulus的的相关事件,但是鼠标事件是能触发的,而且系统的其他的应用软件都可以触摸。这就是我们常见
- 2024-12-23AppDomain.CurrentDomain.BaseDirectory涵义
AppDomain.CurrentDomain.BaseDirectory是获取基目录,它由程序集冲突解决程序用来探测程序集。由显示的路径可以看出,它代表的是程序集所在的目录,它具有读取和写入的属性。//获取程序的基目录。System.AppDomain.CurrentDomain.BaseDirectory//获取模块的完整路径。System.Diag
- 2024-12-10C# Log4net使用
1.在项目中安装log4net包 2.增加配置文件:1<?xmlversion="1.0"encoding="utf-8"?>2<configuration>3<configSections>4<sectionname="log4net"type="log4net.Config.Log4NetConfigurationSection
- 2024-08-29wpf异常捕获
protectedoverridevoidOnStartup(StartupEventArgse){Trace.Listeners.Add(newTextWriterTraceListener("ErrorLog.txt"));Trace.AutoFlush=true;AppDomain.CurrentDomain.UnhandledException+=CurrentDomain_UnhandledException;
- 2024-07-11WPF 动态加载嵌入主程序的DLL
WPF动态加载嵌入主程序的DLL,好处是节省文件数量,坏处是启动影响加载速度。首先将DLL添加进项目,选择添加现有项,设置生成操作为“嵌入资源”。代码:publicApp(){AppDomain.CurrentDomain.AssemblyResolve+=CurrentDomain_AssemblyResolve;
- 2024-04-27AssemblyResolve巧解未能加载文件或程序集“Newtonsoft.Json, Version=6.0.0.0的问题
问题:未能加载文件或程序集“Newtonsoft.Json,Version=6.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个...问题分析:原因是因为引用的Microsoft.AspNet.SignalR.Client库的依赖项是6.0版本的Newtonsoft.Json,而且是动态加载进去的(用Assembly.LoadFrom),
- 2024-03-29Winforms 全局异常处理
很简单直接上代码staticclassProgram{///<summary>///Themainentrypointfortheapplication.///</summary>[STAThread]staticvoidMain(){//设置应用程序处理异常方式:ThreadException处理Application.SetUnhandled
- 2024-03-18Nancy 过滤加载dll
protectedoverridevoidConfigureApplicationContainer(TinyIoCContainercontainer){List<Func<Assembly,bool>>IgnoredAssemblies=DefaultNancyBootstrapper.DefaultAutoRegisterIgnoredAssemblies.ToList();//IgnoredAs
- 2023-10-27使用 AppDomain.CurrentDomain.GetAssemblies() 始终读取不到某一个程序集
AppDomain.CurrentDomain.GetAssemblies() 只会获取到已加载到当前域的程序集。可以先将所有程序集加载之后再进行读取:DependencyContext.Default.RuntimeLibraries.Where(o=>o.Name.StartsWith("Yuji.")).Select(o=>Assembly.Load(newAssemblyName(o.Name))).ToArray()
- 2023-09-06C# 获取程序路径的几种方法及其区别
在开发的程序中使用自定义的配置文件属于基本的操作了,但最近发现一个问题:如果程序是由用户通过exe文件直接打开的,获取同目录下配置文件不会有问题;但如果程序是由第三方应用启动的,通过不同方式获取的“当前目录”会有不同。以下是整理的几种获取当前目录的方式,及官方文档中的注释:
- 2023-07-26WINUI 全局异常捕捉
因整个解决方案(solution)由多个项目(project)组成,而程序在运行时,在程序入口的appclass中添加的UnhandledException事件(Application.UnhandledException)只能捕捉到主程序的异常,导致不能捕捉到其他类库的异常。通过查找文档与相应资料,了解到可以通过AppDomain.CurrentDomain.FirstC
- 2023-05-16C#获取当前路径的方法
//获取程序的基目录。System.AppDomain.CurrentDomain.BaseDirectory//获取模块的完整路径。System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName//获取和设置当前目录(该进程从中启动的目录)的完全限定目录。System.Environment.CurrentDirect
- 2023-04-04Revit附加模块Add-in Manager里一次性加载所有.dll文件
publicResultExecute(ExternalCommandDatacommandData,refstringmessage,ElementSetelements){GlobalRevitData.commandData=commandData;AppDomain.CurrentDomain.AssemblyResolve+=CurrentDomain_AssemblyResolve;//在Execute方法体内添加这行
- 2023-04-01C# Environment.CurrentDirectory和AppDomain.CurrentDomain.BaseDirectory的区别
Environment.CurrentDirectory和AppDomain.CurrentDomain.BaseDirectory都是C#中用于获取当前应用程序的目录路径的方法,但是它们的用途和行为是不同的。Environment.CurrentDirectory返回的是当前进程的当前工作目录路径,这通常是启动应用程序的目录。如果在启动时没有指定工
- 2023-03-14C# 应用程序域
在.NET中,每个应用程序域都是一个独立的执行环境,有自己的安全边界和上下文。当使用AppDomain.ExecuteAssembly方法在一个新的应用程序域中执行一个程序集时,这个程序集将会在
- 2023-01-09C#设置程序集PrivatePath的几种方法
为了使用程序目录更加整洁和美观,我们会建立不同文件夹,分门另类地管理软件目录下的程序集和配置文件,要想使主程序能够读取它们,必须要设置PrivatePath路径,常用的方法包括:方
- 2022-11-16MAUI / MAUI Blazor 环境路径测试笔记
测试代码Tools服务类多平台实现MAUIpublicstringCacheDirectory()=>FileSystem.CacheDirectory;publicstringAppDataDirectory()=>FileSystem.AppDataDirecto
- 2022-08-19C# AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
AppDomain.CurrentDomain.BaseDirectory返回结果为::D:\mycode\,而Application.StartupPath返回结果为:D:\mycodeApplication.StartupPath只能用于WinForm窗体中,而AppDom