对 appsettings.json 配置文件的更改未被提取?

问题描述 投票:0回答:1

我最近注意到 Visual Studio 中有一些奇怪的行为。如果我编辑我的

appsettings.json
文件然后在调试
F5
中运行,编译器不会选择更改的配置。

c# .net visual-studio appsettings buildaction
1个回答
0
投票

原因似乎是由于 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.

© www.soinside.com 2019 - 2024. All rights reserved.