Rename app.config

本文关键字:config app Rename | 更新日期: 2024-09-27 04:39:13

我有两个项目,它们在同一位置使用相同的代码,但使用不同的依赖项和app.config文件,并且两个项目都编译为相同的exe名称。

目前,我配置了一个PreBuild脚本,它将正确的文件从project_a.configproject_b.config复制到app.config

不幸的是,XBuild在从命令行运行时不会执行PreBuild脚本,所以我必须在构建之前进行复制。

有没有办法将另一个文件用作app.config?

编辑:注意,这只在Linux上运行。

我的csproj文件中的条目:

 <Command type="BeforeBuild" 
   command="cp -f MonoMultiJack.Linux.config app.config"
   workingdir="${ProjectDir}" />

这是我的构建脚本:

#!/bin/bash
XBUILD=xbuild
SOLUTION=MonoMultiJack.Lnx.sln
# do some other stuff
${XBUILD} ${SOLUTION} /p:Configuration=Release /t:Clean
${XBUILD} ${SOLUTION} /p:Configuration=Release

Rename app.config

不幸的是,当从命令行运行,所以我必须在建筑物

你的这种假设是错误的。PreBuild事件在xbuild中运行良好,就像在MSBuild中一样。不起作用的是一个不跨平台的脚本,例如使用cmd.execopy命令(在Unix中称为cp),它们只存在于Windows中。

为了防止出现此问题,您需要在xbuild中使用MSBuild条件,例如这里解释的条件。