我最近注意到 Visual Studio 中有一些奇怪的行为。如果我编辑我的
appsettings.json
文件然后在调试F5
中运行,编译器不会选择更改的配置。
原因似乎是由于 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-acceleration.md
Build Acceleration 只会重新编译有代码更改的项目。它不会获取对具有
Build Action: None
(默认值)的设置文件的更改。以前 VS 会运行 MSBuild,它会更新更改的文件并运行构建。现在 VS 自己处理文件更改,并且只在需要时调用 MSBuild。结果是对设置文件的编辑不会被拾取,除非你也编辑代码文件,或者在运行调试之前显式构建(Ctrl+B
或 Ctrl+Shift+B
)。
将文件属性更改为
Build Action: Embedded Resource
似乎可以解决此问题,尽管我不确定这是否是最佳/推荐设置。
编辑:经过一些测试,
Build Action: Embedded Resource
似乎效果最好。我试过Content
,但仍然有同样的问题。我也试过Resource
但出现运行时错误:The configuration file 'appsettings.json' was not found and is not optional.