【问题标题】:What is the best way to duplicate a .csproj (for creating the same app with different named exes)?复制 .csproj 的最佳方法是什么(用于创建具有不同命名 exe 的相同应用程序)?
【发布时间】:2013-08-08 21:53:32
【问题描述】:

我在 Visual Studio 中有一个解决方案,其中一个项目 (.csproj) 设置为创建一个 exe。 我需要创建该项目的副本,以便可以将其命名为不同的名称并更改其图标。 (其余项目都可以保持不变)

我正在为该项目使用条件编译符号,但我不想创建一个完整的单独解决方案配置,因为这需要昂贵的重建整个解决方案。

【问题讨论】:

  • 你不能只使用不同的构建目标吗?
  • 我认为您没有意识到维护会变得多么昂贵

标签: c# visual-studio-2010 configuration


【解决方案1】:

在 Visual Studio 的 Build -> Configuration Manager 下,您可以为您的项目创建一个新配置并从您的发布版本中克隆它,然后您可以在您的项目属性中对其进行自定义。

对于图标,您需要参考Set a different ApplicationIcon for each build configuration

【讨论】:

  • 当您使用两种配置时,我认为与构建后步骤/脚本相比,您必须执行两次构建。
  • 在visual studio 2012下,在Build下它有“Batch Build”,你可以一次构建它们。不确定是不是 2010 年
  • 在我的 2010 版本中,我看不到批量构建选项。编辑:仔细检查,有。
  • @KeithNicholas 这很有见地。我必须检查批量构建。
【解决方案2】:

在磁盘上(在 Visual Studio 之外)创建项目的副本,并将复制的项目添加到解决方案中。然后您可以修改输出程序集名称、图标。等等。

但是更好的做法是执行必要的操作作为构建后步骤(例如批处理/powershell 脚本),因为您必须保持项目同步(添加/重命名/删除文件、引用...)

【讨论】:

  • 我最终选择了这个选项。我的理念是“首先构建所有内容,然后将正确的 exe 名称复制到各自的安装程序项目中(这些适用于公司需要不同名称的 exe 的 oem 协议)
【解决方案3】:

将其复制到其他地方并更改程序集名称和命名空间可能在项目属性窗口(右键单击和属性)

【讨论】:

    【解决方案4】:

    我不知道您试图实现什么但可能的解决方案:

    1. 添加将 exe / (exe ad dll-s) 复制到另一个目录的构建后事件
    2. 如果您使用 TFS,请编辑您的 Build 以创建副本

    干杯,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 2015-04-04
      • 2018-07-06
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      相关资源
      最近更新 更多