运行同一 C# 应用程序两次



该应用程序是一个表单应用程序,它太复杂了。它主要用于连接到具有用户界面的数据库。它还使用第三方 dll。

我将 VS C# 应用程序的 bin 文件夹复制到桌面。

"C:\用户\asd\桌面\bin"

之后,我对解决方案进行了一些更改并构建了它,我再次在 C:\ 下复制了应用程序的 bin 文件;

"C:\bin"

现在,当我运行"C:\Users\asd\Desktop\bin\Debug\LIVE.exe"并让它保持打开状态时,我无法运行"C:\bin\Debug\LIVE.exe"。当我尝试打开第二个.exe文件时没有错误。它什么都不做。

我希望两个应用程序同时打开。

根据应用程序的不同,有一些方法可以防止执行第二个实例(我实际上已经在生产代码中实现了所描述的行为),因此请检查应用程序的生产规范,看看这是否是客户端计算机上的所需行为。

由于它使用数据库连接和第三方 DLL,因此可能存在其他特定限制来阻止正确执行,因此请检查是否通过挂钩到FirstChanceException来引发任何异常(警告:切勿在调试上下文之外使用此代码!

#if DEBUG
static Program()
{
    AppDomain.CurrentDomain.FirstChanceException += (sender, e) => { };
}
#endif

将其插入到您的 Program 类中,或者包含 Main 方法的任何类(当然,如果不是Program,请重命名它),然后在处理程序的打开处断点 - 这通常会捕获很多您最好不要担心的异常,但如果存在阻止代码启动的问题,它也可能会提示您。

与往常一样,请确保从VS的调试中运行它,以便在发生任何异常时查看它们。

最新更新