【问题标题】:Pre-build event command line question预构建事件命令行问题
【发布时间】:2011-01-05 09:40:29
【问题描述】:

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

[更新]

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

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

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

我的程序

第一步。

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

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

第二步。

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

输入:

myConApp.exe myConAppArgs

第三步。

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

有没有更好的方法来做到这一点或遵循任何标准程序?感谢阅读和回复。

【问题讨论】:

    标签: c# command-line arguments


    【解决方案1】:

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

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

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

    要访问项目依赖项,只需在 WinApp 项目上的解决方案资源管理器中单击鼠标右键,然后在上下文菜单中搜索该条目。

    【讨论】:

      【解决方案2】:

      这听起来很奇怪,MyConApp.exe 是否会影响 MyWinApp.exe 的构建过程?如果是这样,它肯定不属于 bin\Debug 目录,在构建 Release 版本时它必须具有相同的影响。它属于项目目录。

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

      【讨论】:

        猜你喜欢
        • 2018-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多