新的 .csproj 格式的 app.config 文件

And*_*erd 6 msbuild csproj visual-studio

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

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

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

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

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

<ItemGroup>
  <Content Include="App.config">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

Mar*_*ich 13

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

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

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

</Project>
Run Code Online (Sandbox Code Playgroud)

这使PrepareForBuildmsbuild 目标能够自动获取文件,后续的构建步骤也可以将此文件作为逻辑文件进行编辑 - 例如,SDK 将根据TargetFramework定义的内容修改启动/支持的运行时部分。将此添加为自定义项目或构建步骤将失去此功能。

  • 添加此属性应该不是必需的,至少对于最新的位来说是这样。只需在“.csproj”文件旁边添加一个“App.config”文件,就会在输出目录中生成相应的文件。请注意,如果您的目标是 .NET Core(包括 .NET 5 及更高版本),则该文件名为“MyProject.dll.config”。如果您的目标是 .NET Framework,则它将是“MyProject.exe.config”。 (2认同)