【发布时间】:2013-09-18 00:53:09
【问题描述】:
我一直在用 C# 编写 Windows 窗体应用程序来运行我的 Phing 构建文件的任务。
当我点击按钮时,它会执行 phing 构建文件(运行 cmd),将控制台输出保存到 txt 文件中,并在一个文本框中显示输出。
问题是我有一些需要用户输入的任务,比如需要用户输入提交信息的 SVN 提交。
当我执行提交任务时,显示一个空的 cmd 供用户编写提交消息,但没有显示问题,因此用户必须猜测他希望在控制台中写什么。
我创建了一个带有问题的输入框和用于用户回答的文本框,但是如何将文本框中的文本分配给 xml 文件中的变量? 抱歉有些英文错误...
编辑:
在我的构建文件中,我有这个:
<target name="commit" description="Executa Commit">
<propertyprompt propertyName="commit_message" defaultValue="Actualizado atraves do Phing"
promptText="Introduza a mensagem do Commit: " />
<svncommit
svnpath="${svn_path}"
workingcopy="${local_dir}"
message="${commit_message} " />
<echo msg="Revisao do Commit numero: ${svn.committedrevision}"/>
</target>
因此它显示消息“Introduza a mensagem do Commit”,并且答案分配给 commit_message。 在 C# 中,我有一个输入框,我希望文本框中的文本成为 xml 文件中“commit_message”的值
为卡米尔编辑:
textBox1.Clear();
var startInfo = new ProcessStartInfo("phing");
startInfo.WorkingDirectory = @"C:\wamp\bin\php\php5.4.3";
startInfo.Arguments = "commit > log.txt";
string pergunta = inputbox.InputBox("Qual é a mensagem do Commit ?", "Commit", "Mensagem Commit");
// textBox1.Text = "Escreva o caminho de origem da pasta:";
Process proc = Process.Start(startInfo);
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.WaitForExit();
using (StreamReader sr = new StreamReader(@"C:\wamp\bin\php\php5.4.3\log.txt"))
{
textBox1.Text = sr.ReadToEnd();
}
将 2 号编辑为卡米尔:
这种方式行得通,但是这样做的结果是一样的
var startInfo = new ProcessStartInfo("phing");
startInfo.WorkingDirectory = @"C:\wamp\bin\php\php5.4.3";
startInfo.Arguments = "commit ";
Process proc = Process.Start(startInfo);
我的老板告诉我这样没有问题,只是想添加其他东西.. 当控制台关闭时,我想将所有控制台输出发送到一个文本框,或者只是强制控制台保持打开状态,直到我关闭它
【问题讨论】:
-
也许我误解了这个问题,但您是在问如何格式化您的 XML 吗?或者如何让代码与 XML 一起工作?我很困惑
-
我在问如何将 c# 中文本框的值传递给一个 xml 文件中的一个变量。我想我需要使用 xmldocument 或类似的东西,但无法弄清楚...
-
在 XML 文件中不存在 变量。变量是一种编程结构。 XML 文件是数据的结构化文本表示。您是要 a) 从 XML 文件读取还是 b) 写入 XML 文件?什么是 XML 架构?你想达到什么目的?您是使用 TortoiseSVN 作为客户端,还是使用普通的
svn -commit? AFAIK,要指定提交日志消息,您不需要创建 XML 文件,而只需创建一个包含数据的文本文件,或者您可以在命令本身中指定消息。 -
看看这个答案是否有帮助stackoverflow.com/questions/1477075/…
-
Groo 我已经添加了一些代码,你现在能更好地理解它吗?请对不起我的英语...