同一文件夹中不同项目的不同 app.configs

Different app.configs for different projects in same folder

我在一个文件夹中几乎没有 *.csproj(新格式)("same" 项目,不同的构建 - 不,它不适用于单个文件夹)我需要 app.config 文件 bindingRedirect 对于某些项目。有没有办法让每个项目都有不同的 app.config 名称,就像 packages.configpackages.<project name>.config 一样?

我能想到的唯一、相当蹩脚的解决方案是进行预构建和 post-build 任务,将文件放在那里并删除它,并确保两个构建是 运行在一起

查看构建输出,您可以看到一个名为 _CopyAppConfigFile 的目标,它负责复制配置文件。进一步查看 Microsoft.Common.CurrentVersion.targets 可以看出,默认情况下 msbuild 使用 app.config,这可以通过声明 属性 AppConfig 来覆盖。因此,如果您想将项目名称并入其中,请使用

<PropertyGroup>
  <AppConfig>app.$(MSBuildProjectName).config</AppConfig>
</PropertyGroup>