预构建事件命令行问题

时间:2010-01-15 06:14:59

标签: c# command-line arguments

我创建了两个应用程序。(控制台应用程序:MyConApp.exe和Windows应用程序:MyWinApp.exe) 目的,将MyConApp.exe附加到MyWinApp.exe并使用MyWinApp的预构建事件传输MyConApp.exe args。

[更新]

MyConApp.exe 是一个小工具,用于解析XSD文件并生成 FromXSD.cs 文件。如果我双击它,它非常有用。 myConAppArgs XSD文件路径

现在 MyWinApp.exe 项目使用的 FromXSD.cs 文件。我希望在构建时使用 FromXSD.cs 文件构建MyWinApp.sln。

如果有一天XSD文件发生了变化。如果我使用预构建事件命令行方法,我需要自动处理新的XSD文件。这就是我处理这三个步骤的原因。

我的程序

步骤1。

我将MyConApp.exe复制到MyWinApp.exe的相同路径。

也就是说:路径中有两个.exe文件** D:\ learning \ cs \ MyWinApp \ MyWinApp \ bin \ Debug **

步骤2。

打开MyWinApp项目属性 - >构建事件 - >和预构建事件命令行:

输入

myConApp.exe myConAppArgs

步骤3。

保存MyWinApp项目,构建并运行它。

有没有更好的方法来执行此操作或遵循任何立场程序?感谢阅读和回复。

2 个答案:

答案 0 :(得分:2)

由于您希望在预构建事件中执行此操作,因此可以合并第一步和第二步。只需在WinApp预构建事件中尝试以下操作:

copy /y $(SolutionDir)conApp\$(OutDir)ConApp.exe $(TargetDir)
ConApp.exe -i -k -whatever

因此,您的ConApp将始终在预构建事件中重新复制。您还应该在WinApp的Project Dependencies中设置它将依赖于ConApp。因此,ConApp将始终在WinApp之前构建。

要访问Project Dependencies,只需右键单击WinApp项目上的Solution Explorer,然后在上下文菜单中搜索该条目。

答案 1 :(得分:1)

这听起来很奇怪,MyConApp.exe会做什么影响MyWinApp.exe的构建过程吗?如果确实如此,它当然不属于bin \ Debug目录,它在构建Release版本时必须具有相同的效果。它属于项目目录。

如果它不影响构建,那么使用预构建事件是完全不合适的。然后,您需要解释为什么这是必要的。