visual-studio - 新的 .csproj 格式的 app.config 文件

标签 visual-studio msbuild csproj

Visual Studio 提供了一种精简的 .csproj 文件格式。

我正在尝试构建一个 .NET Framework 应用程序(版本 4.6.1),但使用新的手动可编辑文件。

与之前的行为类似,我希望将 app.config 文件复制到输出目录,但重命名为 <output_exe>.config (其中 output_exe 是可执行文件的名称)。

我们在 .csproj 文件中放了什么来实现这一点?

这不起作用,因为它不会重命名文件:

<ItemGroup>
  <Content Include="App.config">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemGroup>

最佳答案

只需添加 AppConfig msbuild 和 tooling 期望此功能的属性:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net472</TargetFramework>
    <AppConfig>App.config</AppConfig>
  </PropertyGroup>

</Project>
这将启用 PrepareForBuild msbuild 目标以自动拾取文件,随后的构建步骤也可以将此文件编辑为逻辑文件 - 例如SDK 将根据 TargetFramework 修改 startup/supportedRuntime 部分那是定义的。将此添加为自定义项目或构建步骤将失去此功能。

关于visual-studio - 新的 .csproj 格式的 app.config 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59959513/

相关文章:

c# - Windows 上的 Visual Studio Code、C# 支持

c# - 为什么在面向 .netstandard 1.3 时不能使用嵌入式资源 (resx)?

visual-studio - BuildingInsideVisualStudio 属性值不适用于文件引用和项目引用条件

visual-studio - Visual Studio Team Services 构建 Typescript 错误

visual-studio - 在 Visual Studio 2012 中加倍文件名

c# - 我可以将编译常量传递给项目引用吗?

c# - 如何在我的 .csproj 文件中包含 DLL?

visual-studio - 编辑并继续 : "Changes are not allowed when..."

visual-studio - Azure Sdk for vs2013.4 不起作用

c# - 以编程方式构建项目