【问题标题】:C# Program Runs in Debug Mode but not Directly by the ExecutableC# 程序在调试模式下运行,但不直接由可执行文件运行
【发布时间】:2025-12-16 21:15:02
【问题描述】:

大家好。

我正在尝试在 C# 中创建一个使用图形界面编辑文件的程序。我以前做过很多次这种事情,但这次不一样。我能够很好地调试它,但是当我直接进入其文件夹中的可执行文件时,它没有打开。它连跑的迹象都没有。

好奇这个现象,我在任务管理器里看了看,没有出现。我试图删除该文件,但它说:

此操作无法完成,因为文件已在系统中打开
关闭文件并重试

我在任务管理器中找不到“系统”,所以我什么时候到资源监视器。
我发现我的程序在那里打开(不在系统下),所以我试图终止该进程。这导致了以下对话框:

尝试执行命令时,出现以下系统错误:
访问被拒绝。

我上网并尝试下载会自动终止该进程的程序,但无济于事。他们都给了我类似于上述“拒绝访问”错误的错误。

我尝试过的事情:

  1. 杀死进程
  2. 重新安装项目属性中选择的 .NET 库
  3. 重新启动我的电脑

这三个中唯一有效的是重新启动我的计算机。这释放了可执行文件,我能够删除它并重新编译我的程序,但是一旦我运行它,同样的事情就会重复它自己。

我的程序具有大量图形、多线程和对多个库的引用。我不知道这些是否导致了这个问题,但我认为无论如何我可能会包括它们。

就像我之前说的,我以前做过这种事情,但我不知道我现在做错了什么。感谢您的任何帮助。

【问题讨论】:

  • 您是否有防病毒程序?这可能是某种冲突。尝试打开和关闭防病毒软件进行测试。可能不上网防止病毒入侵
  • 也尝试以管理员身份运行...
  • 哇,我刚试了你说的,效果很好!你有什么方法可以让我在打开防病毒软件的情况下运行我的程序?
  • 等等,我刚刚尝试删除它,它说它仍然在系统中打开。我现在可以打开它,但它不会让我因此而重建解决方案。

标签: c# .net visual-studio-2015 kill


【解决方案1】:

您可以将调试文件夹添加为防病毒路径的例外,这应该可以防止它拦截执行。

对于您的“仍在系统中打开”错误,我不知道。可能是您的防病毒软件自动隔离了它?您可以尝试删除或至少重命名您的 EXE 文件或使用低级文件所涉及的文件,例如 PC Hunter(我之前尝试过没有任何问题,但我仍然不承担任何责任)。或者,如果它让您感到害怕,只需重新启动您的电脑并重命名您的文件(如果可行),然后将该文件夹放在防病毒软件的例外列表中可能会阻止它再次发生。

【讨论】:

  • 谢谢,我刚刚把它放在我的扫描例外列表中,它现在可以工作了。谢谢。
最近更新 更多