我正在构建一个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它启动命令提示符但是在打开窗口后关闭它(我说关闭)因为我检查了任务管理器中的“进程”选项卡并且它不在那里。
请帮帮我。
由于
答案 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)”的配置