有什么方法可以关闭自动注册功能,以便它忽略同一文件夹中的任何 dll 文件?
Is there any way to switch off Auto Register Feature so that it ignores any dll files in the same folder?
我有 4 个文件:Launcher.exe、Application.exe、Nlog.dll 和 Nlog.Windows.Forms.dll。
Launcher.exe 用于更新 Application.exe 和 Nlog 文件,因此 Launcher.exe 拥有自己的 Nlog.dll 合并副本。如果我删除 Nlog.Windows.Forms.dll 从文件夹中删除它一切正常,并且主文件夹中的 Nlog.dll 可以更新,因为它没有被使用。
如果 NLog.Windows.Forms.dll 在同一文件夹中,则 Nlog.dll 无法更新。我相信这是因为 NLog 正在自动检测 Windows Forms dll,它又锁定了我不想要的 Nlog.dll 和 Nlog.Windows.Forms.dll!
有办法阻止吗?我可以禁用自动检测吗?我不使用配置文件,我在代码中构建我的配置:
Dim test As New NLog.Config.LoggingConfiguration
Dim logToFile As New NLog.Targets.NullTarget("MyApp")
test.AddRuleForAllLevels(logToFile)
NLog.LogManager.Configuration = test
MyApp.nLogger = NLog.LogManager.GetCurrentClassLogger
在创建第一个 NLog Logger (GetLogger / GetCurrentClassLogger) 或分配 LogManager.Configuration 之前,您可以这样做:
Dim configFactory As New NLog.Config.ConfigurationItemFactory(GetType(NLog.ILogger).Assembly)
NLog.Config.ConfigurationItemFactory.[Default] = configFactory
Dim test As New NLog.Config.LoggingConfiguration
Dim logToFile As New NLog.Targets.NullTarget("MyApp")
NLog.LogManager.Configuration = test
MyApp.nLogger = NLog.LogManager.GetCurrentClassLogger
请原谅我可能损坏的 VB.NET 语法。
我有 4 个文件:Launcher.exe、Application.exe、Nlog.dll 和 Nlog.Windows.Forms.dll。
Launcher.exe 用于更新 Application.exe 和 Nlog 文件,因此 Launcher.exe 拥有自己的 Nlog.dll 合并副本。如果我删除 Nlog.Windows.Forms.dll 从文件夹中删除它一切正常,并且主文件夹中的 Nlog.dll 可以更新,因为它没有被使用。
如果 NLog.Windows.Forms.dll 在同一文件夹中,则 Nlog.dll 无法更新。我相信这是因为 NLog 正在自动检测 Windows Forms dll,它又锁定了我不想要的 Nlog.dll 和 Nlog.Windows.Forms.dll!
有办法阻止吗?我可以禁用自动检测吗?我不使用配置文件,我在代码中构建我的配置:
Dim test As New NLog.Config.LoggingConfiguration
Dim logToFile As New NLog.Targets.NullTarget("MyApp")
test.AddRuleForAllLevels(logToFile)
NLog.LogManager.Configuration = test
MyApp.nLogger = NLog.LogManager.GetCurrentClassLogger
在创建第一个 NLog Logger (GetLogger / GetCurrentClassLogger) 或分配 LogManager.Configuration 之前,您可以这样做:
Dim configFactory As New NLog.Config.ConfigurationItemFactory(GetType(NLog.ILogger).Assembly)
NLog.Config.ConfigurationItemFactory.[Default] = configFactory
Dim test As New NLog.Config.LoggingConfiguration
Dim logToFile As New NLog.Targets.NullTarget("MyApp")
NLog.LogManager.Configuration = test
MyApp.nLogger = NLog.LogManager.GetCurrentClassLogger
请原谅我可能损坏的 VB.NET 语法。