对 appsettings.json 配置文件的更改未生效?

And*_*dyS 5 .net c# appsettings buildaction visual-studio

我最近注意到 Visual Studio 中有一些奇怪的行为。如果我编辑appsettings.json文件然后在 debug 中运行F5,则编译器不会拾取更改的配置。

And*_*dyS 5

原因似乎是由于 Visual Studio v17.5(2023 年 2 月)中引入了一项名为“构建加速”的新功能

发行说明:https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes
构建加速:https://github.com/dotnet/project-system/blob/main/docs/build -加速度.md

在此输入图像描述

构建加速只会重新编译有代码更改的项目。它不会接受对具有Build Action: None默认值 的设置文件的更改。以前 VS 将运行 MSBuild,这将更新更改的文件并运行构建。现在,VS 自行处理文件更改,并且仅在需要时调用 MSBuild。结果是,对设置文件的编辑不会被采纳,除非您还编辑代码文件,或者在运行调试之前显式构建(Ctrl+BCtrl+Shift+B)。

GitHub 上的测试项目

编辑:经过一些测试,Build Action: Embedded Resource似乎效果最好。我尝试过Content,但仍然遇到同样的问题并Resource引发运行时错误。如果您想进行实验,请获取上面的测试项目。