自动编译两个版本的C#程序

Joh*_*ohn 5 c# compilation

我必须为两个不同的公司制作相同的程序(不同的标识,不同的名称).我希望在发布时自动完成此操作.

我想使用资源文件或附属程序集,但我不知道如何继续.

您认为哪种方式最好?

谢谢.

编辑:

  • 差异只是一个图像和一个字符串.
  • 我希望只需点击一下即可生成所有内容.
  • 我们将来可能会有更多的客户.
  • 我还必须补充一点,我使用SmartAssembly将所有依赖项合并到一个exe文件中.

Jon*_*lis 1

我能想到的最好的方法是批处理脚本。

让您的项目引用文件(图像(徽标)、文本(公司名称)等)。即 C:\MyProject\Resources。这样,当项目构建时,它会将它们编译到应用程序/安装程序等中。

这样,您可以编写一个脚本(.bat 文件)来复制每个公司所需的资源。

步骤 1 - 删除 Resources 文件夹中的所有文件

第 2 步 - 使用 MSBuild.exe 构建项目

步骤 3 - 将 bin/release 文件夹中所需的文件复制到目录(即 C:\Release\CompanyA)

步骤 4 - 更改脚本中的变量以加载下一家公司的详细信息。并从步骤 1 开始重复,因此它会复制所需的资源文件并重建。