【问题标题】:Cannot Run .NET C# Application Outside Debug Folder无法在调试文件夹外运行 .NET C# 应用程序
【发布时间】:2015-12-16 23:58:32
【问题描述】:

我在使用 Visual Studio Community 2015 时遇到了一个奇怪的问题。我的程序在 Visual Studio 编辑器中正常运行,并且在 bin/debug/ 目录中双击 Application .exe 时它也正常运行。但是,当应用程序在计算机上的任何其他位置(包括 Release 目录)运行时,程序无法正确运行。我肯定将所有 Debug 文件夹复制到尝试执行的位置,所以不是因为那个。

当我运行可执行文件时,鼠标上会出现一个加载图标,在任务管理器中它会显示为一个使用大约

我主要使用 .NET 4.5.2,但是我尝试了 4.5 和 4.6,但都没有解决问题(我已经检查过,我已经安装了所有 3 个)。我还尝试在本地复制系统 DLL,但这也没有解决问题。我还尝试创建一个极简解决方案(如下),其中包含一个仅打印“Hello World”并退出的项目。

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World");
            Console.ReadLine();
        }
    }
}

这个程序遇到了同样的问题,除了它甚至不能在 Debug 文件夹中运行,只能在 Visual Studio 中运行。然后我更改了项目,使其打开,然后立即再次关闭而不打印任何内容,因此它根本不使用系统库,并且它做了同样的事情。然后我尝试在 64 位和 32 位强制下运行该程序(在 64 位笔记本电脑上),但这也没有任何区别。

我使用的是 Windows 7 Home Premium - Visual Studio Community 2015

感谢您的帮助:)

【问题讨论】:

  • 事件日志中是否有任何错误?
  • 是否需要设置任何配置才能运行应用程序?你应该只使用发布配置运行你的应用程序
  • @David 我在类似问题上看到了该建议,但是我不确定在事件查看器中需要查看的位置
  • @Thomas 需要设置的配置是什么意思?当我在将程序构建到发布文件夹(而不是调试文件夹)后尝试运行程序时,它会挂起,就像我在计算机上的其他地方执行程序一样
  • 您应该有一个与您的应用程序关联的 *.config 文件,您是否也部署它?

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


【解决方案1】:

这种罕见问题的另一种可能是您的防病毒程序。他们中的一些人喜欢在每个创建的进程中注入一个 DLL 以更好地保护您。但这也可能导致如此尴尬的问题。

我想到的唯一其他方法是检查事件查看器或运行Process Monitor 以了解错误的来源。

【讨论】:

  • 这就是问题所在,一旦我禁用 Avast,它就起作用了...有没有办法在不禁用防病毒软件的情况下阻止它在未来这样做?
【解决方案2】:

尝试使用发布配置并在所有异常上启用 Break(请查看 Managing Exceptions with the Debugger 以获取有关启用 VS 异常处理的帮助)。

希望这会破坏 Visual Studio 并向您显示有关异常的足够信息。

您也可以尝试使用Process Monitor 来查找问题。

我强烈建议使用一个简单的 hello world 程序来找出根本原因。我怀疑是一些损坏的 .NET 框架安装

【讨论】:

  • 如果您打算让我在设置配置后在 Visual Studio 中运行它并在所有异常上启用中断,那么恐怕它不起作用
  • 不幸的是,除非在 Visual Studio 中运行,否则该进程甚至不会显示在进程监视器中。它在任务管理器和进程资源管理器中可见,但在进程监视器中不可见。
  • 所有进程都在进程监视器中可用。当您说它在 VS 中不起作用时,究竟发生了什么?它是否命中了 main 代码的第一行?
  • 在Visual Studio中运行完全没有崩溃,但一直是杀毒问题
  • 很高兴您发现了问题
【解决方案3】:

那是因为它不是正确的 exe...

为了让您的应用程序正确运行 .exe 在解决方案资源管理器中右键单击您的项目 > 转到“发布”选项卡 > 选择立即发布

(现在去调试文件夹找到exe)

它将自动打开包含要安装文件的“发布”文件夹,但现在转到您的“调试”文件夹,您会在那里找到工作 exe 和一些其他 Visual Studio 生成的与发布相关的文件,但您没有真的需要

~陈驰

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    相关资源
    最近更新 更多