出现这种情况似乎是因为 Visual Studio v17.5(2023年2月)引入了一个名为“Build Acceleration”的新功能。
发布说明:https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes
构建加速:https://github.com/dotnet/project-system/blob/main/docs/build-acceleration.md
构建加速仅重新编译有代码更改的项目。它不会识别具有“Build Action: None”的设置文件的更改,这是默认值。 以前VS会运行MSBuild,更新更改的文件并运行构建。现在VS自己处理文件更改,并且只在需要时调用MSBuild。结果是,对设置文件的编辑不会被捕获,除非您在运行调试之前也编辑代码文件或显式构建(Ctrl+B
或Ctrl+Shift+B
)。
编辑:经过一些测试,Build Action: Embedded Resource
似乎效果最好。我尝试了Content
,但仍然遇到了相同的问题,而Resource
则引发了运行时错误。如果您想实验,请获取上面的测试项目。
Content
而不是None
。 - tia這是 Visual Studio 中已知的 bug,正在被跟踪:
https://developercommunity.visualstudio.com/t/Copy-if-newer---Issue-when-only-non-sour/10308822
请在工单上投票,如果它对您产生影响。https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes#17.7.0
面临相同的问题,有一个解决方法,但是并不方便所有人,但在他们提供修复之前,可以这样做。
然后,当您运行代码时,它将开始捕捉到appsettings.json
文件中的更改。仍在寻找更好的解决方案,如果找到了会进行更新。
我的解决方法是:
可怕的解决方案...