无法 运行 C# WPF 软件(错误 0xc0000374)

Impossible to run C# WPF software (Error 0xc0000374)

我这里有问题,需要一些帮助。

我在 WPF 中开发 C# 软件,我已经完成了,程序编译但没有 运行。

我已经尝试逐步搜索问题 运行 并在这一行结束

var logfile = new NLog.Targets.FileTarget("logfile") { FileName = Application.StartupPath + @"\Logs\" + DateTime.Now.DayOfYear + ".txt" };

var logconsole = new NLog.Targets.ConsoleTarget("logconsole");

我收到此错误:“尝试读取或写入受保护的内存。这通常表示另一个内存已损坏”

在执行过程中随机发生,但主要是在 运行 执行这些代码行时。

如果你有解决方案,我会采纳!

WPF Application class 没有 StartupPath 属性.

您可以添加 System.Windows.Forms 作为项目参考并使用 System.Windows.Forms.Application.StartupPath

选择:

string appPath = System.Reflection.Assembly.GetExecutingAssembly()
               .GetModules()[0].FullyQualifiedName;
string appDir = Path.GetDirectoryName(appPath);

要更精细地调试您的代码,您可以重写它:

var fileName = Application.StartupPath;

fileName += @"\Logs\"; 
fileName += DateTime.Now.DayOfYear 
fileName += ".txt";

var logfile = new NLog.Targets.FileTarget("logfile");
logFile.FileName = fileName;