【问题标题】:Running external C++ exe under Release Mode in Visual Studio在 Visual Studio 的发布模式下运行外部 C++ exe
【发布时间】:2013-06-20 02:25:27
【问题描述】:

我有一个第三方 C++ exe 文件,我从我的 C# windows 窗体应用程序调用它:

System.Diagnostics.Process proc = new Process();
proc.StartInfo.Verb = "runas";
proc.StartInfo.FileName = "virtual.exe";
proc.StartInfo.Arguments = outfile + ".vxml";
proc.StartInfo.WorkingDirectory = Application.StartupPath;

proc.Start();
proc.WaitForExit();

如果我的 C# windows 应用程序处于“调试模式”,它可以完美运行。如果我然后更改为“发布模式”,它会崩溃

有什么线索为什么会发生这种情况,以及解决它的方法吗?

非常感谢

【问题讨论】:

  • 为什么会崩溃?你怎么知道它崩溃了……也许是一个异常对话框?
  • 您的发布版本和调试版本是否针对相同的架构(32 位或 64 位)?
  • 是的,两种配置都针对同一个 ANY CPU
  • 如果 C++ 应用程序崩溃,发布启动它的 C# 代码是没有意义的。使用调试器定位崩溃的大致位置并开始查找。
  • @VAAA,除非您准确告诉我们您遇到了什么错误以及您在何时/何地遇到错误,否则我们帮不上什么忙。 “它崩溃了”太模糊了。

标签: c# c++ visual-studio-2010 visual-studio exe


【解决方案1】:

从您提供的少量信息中我可以猜到,virtual.exe 文件根本不存在于应用程序的目录中。如果使用默认设置,二进制文件将分别编译到bin\Debugbin\Release 目录。确保virtual.exe 可以从bin\Release(或发布二进制文件复制到的任何位置)目录中访问。

如果不是这样,您必须提供更多信息,例如。程序如何崩溃,哪条线路出现故障等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多