【发布时间】:2019-06-10 16:57:19
【问题描述】:
我需要在我的 appsettings.json 文件中编辑一个连接字符串以调试 .Net Core MVC 应用程序。当我使用 IIS Express 调试器运行应用程序时,我的应用程序构建为 bin\Debug\netcoreapp2.2。在此目录中,我正在使用测试所需的值编辑 appsettings.Development.json 配置文件。我知道应用程序正在提取 appsettings.json 文件的正确变体。但是,我不认为调试器正在查看bin\Debug\netcoreapp2.2 中的文件,因为当我编辑该文件时,我的应用程序中不存在更改。 IIS Express 调试器从哪里加载 appsettings.json 文件?
更多上下文的屏幕截图。
我从这个工具栏运行调试器。
调试器将文件构建到bin\Debug\netcoreapp2.2。
然后我编辑必要的 appsettings.json 文件。该文件在以后的构建中不会被覆盖,因为我将“复制到输出目录”属性设置为“如果较新则复制”
我验证了 ASPNETCORE_ENVIRONMENT 变量设置为调试器的“开发”。
但是当我去调试我的应用程序时,我在项目的 appsettings.json 中获得了默认连接字符串,而不是在 bin\Debug\netcoreapp2.2 目录的 appsettings.json 中获得了修改后的连接字符串
【问题讨论】:
-
嗯,这并不理想。有没有办法将其配置为查看 bin 文件夹?
-
也许这个问题可以帮到你:stackoverflow.com/questions/37858312/…
-
@ChrisStillwell 为什么将它放在根文件夹中并不理想?
-
@AliK,主要是因为我添加连接字符串的文件受源代码控制,我不想冒险将凭据意外推送到存储库。如果我可以编辑 bin 文件夹中的文件,我就不用担心了。
-
我会拥有 appsettings.json,这是您始终提交到源代码管理的主文件,然后是一个名为 appsettings.development.json 的副本,这是您在 Visual Studio 中启动应用程序时运行的副本。 .development.json 永远不会提交到源代码管理,每个开发人员都可以拥有自己的 .dev.json 文件副本。这种方法效果很好。
标签: c# visual-studio .net-core asp.net-core-mvc visual-studio-2019