从C#Windows应用程序编译MFC代码

时间:2010-10-05 10:38:00

标签: c# command-line mfc build compilation

我正在构建一个C#Windows应用程序来编译&构建MFC代码我google了很多,我发现这个线程非常有用Thread但我遇到了2个问题;

1)与编译相关,因为我的MFC项目有4个不同的配置2,适用于Oracle 10& 2对于Orace 8i但是当我在命令行中通过Oracle 10 Configuration时它无法识别它&在oralce 8 Configuration

构建项目

Oralce 8配置:a)调试b)发布

Oralce 10配置:a)调试(Ora 10)b)发布(Ora 10)

但是当在命令行中传递这些值时,例如

devenv / build Debug(Ora 10)“c:\ MySolutions \ Visual Studio Projects \ MySolution \ MySolution.sln”

它不会在命令行

的给定配置下构建它

2)与C#中的进程类相关我从Process.Start(CMD路径)调用CMD它启动命令提示符但是在打开窗口后关闭它(我说关闭)因为我检查了任务管理器中的“进程”选项卡并且它不在那里。

请帮帮我。

由于

2 个答案:

答案 0 :(得分:0)

对于#2 - 发布一些代码 - 这是我的:

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcess
{
    class MyProcess
    {
        public static void Main()
        {
           string CmdPath, CmdArgument, FrameworkPath;
           CmdPath = "cmd.exe";
           CmdArgument = "";
           FrameworkPath = "C:\\";
           ProcessStartInfo CmdLine = new ProcessStartInfo(CmdPath, CmdArgument);
           CmdLine.WindowStyle = ProcessWindowStyle.Maximized;
           CmdLine.WorkingDirectory = FrameworkPath;
           CmdLine.UseShellExecute = false;
           Process CmdProcess = new Process();
           CmdProcess.StartInfo = CmdLine;
           try
           {
              CmdProcess.Start(); 
           }
           catch (Exception e)
           {
               Console.WriteLine(e.Message);
           }
        }
    }
}

答案 1 :(得分:0)

对于你的问题的第1部分,我很确定你需要带有空格的任何参数的引号,所以这行应该是这样的:

devenv / build“Debug(Ora 10)”“c:\ MySolutions \ Visual Studio Projects \ MySolution \ MySolution.sln”

这假设您的解决方案中有一个名为“Debug(Ora 10)”的配置