Vb.net 在VisualStudio中一步构建具有不同启动形式的多个二进制文件

Vb.net 在VisualStudio中一步构建具有不同启动形式的多个二进制文件,vb.net,visual-studio-2012,Vb.net,Visual Studio 2012,我的项目有两个GUI表单。一种是“内部”形式,另一种是“公共”形式。这与信息隐藏或安全无关,只是表示 我现在做的是: 右键单击“项目”选择“属性” 将“启动对象”更改为“公共表单” 单击“构建” 在资源管理器中,将bin\Release复制到bin\Release public并运行生成后脚本 将“启动对象”更改为“内部表单” 单击“构建” 在资源管理器中,将bin\Release复制到bin\Release internal并运行生成后脚本 我一直在搞砸,并与公众交换内部信息 换句话说,我需要

我的项目有两个GUI表单。一种是“内部”形式,另一种是“公共”形式。这与信息隐藏或安全无关,只是表示

我现在做的是:

  • 右键单击“项目”选择“属性”
  • 将“启动对象”更改为“公共表单”
  • 单击“构建”
  • 在资源管理器中,将
    bin\Release
    复制到
    bin\Release public
    并运行生成后脚本
  • 将“启动对象”更改为“内部表单”
  • 单击“构建”
  • 在资源管理器中,将
    bin\Release
    复制到
    bin\Release internal
    并运行生成后脚本
  • 我一直在搞砸,并与公众交换内部信息

    换句话说,我需要在一个步骤中构建两个单独的二进制文件,并使用两个单独的构建后脚本。“小心一点”不是这个问题可以接受的答案


    我可以用一次点击而不是几十次来完成构建任务吗?

    在解决方案中与原始项目一起创建另一个项目

    在新项目中,删除VS添加的默认表单并删除App.config

    向该项目添加与原始项目相同的引用

    右键单击新项目,然后单击“添加现有…”添加为链接原始项目中的所有表单和其他代码文件。确保将它们添加为链接。通过更改“添加现有”窗口底部的下拉选择,可以将它们添加为链接:

    您唯一没有添加的文件是您的公共表单。而是将您的内部表格移到该项目。确保在第二个项目中将启动表单设置为内部表单

    现在,当您构建时,您将有两个不同的bin文件夹。由于您将第二个项目中的所有文件添加为链接,因此您没有复制这些文件:您只是使两个不同的项目共享相同的源文件(除了一个表单)。 在解决方案资源管理器中,它将如下所示:


    请注意,在
    InternalProject
    中,与AlphaProject共享的文件上有一个特殊的小箭头图标,指示它们已链接。这意味着您对这些文件所做的任何更改都将反映在两个项目中。

    为什么不使用一个二进制文件,并让它决定启动时显示哪种格式?规范超出了我的控制范围。此外,我不认为这是一个非常难解决的问题。