Visual studio code 在vscode中调试.net core webapi时无法读取appsettings.json
在vscode中调试时,我无法读取webapi项目的Visual studio code 在vscode中调试.net core webapi时无法读取appsettings.json,visual-studio-code,asp.net-core-webapi,vscode-debugger,Visual Studio Code,Asp.net Core Webapi,Vscode Debugger,在vscode中调试时,我无法读取webapi项目的Startup.cs文件中的appsettings.json。它们都返回为空/空 webapi的launch.json配置是通过添加.NET核心启动(控制台)配置生成的。我还尝试添加.netcorelaunch(web)配置,但出现了相同的问题 然后我唯一需要更改的是“program”设置,以指向项目文件夹中的正确dll 这是我的launch.json { “版本”:“0.2.0”, “配置”:[ { “名称”:“.NET核心启动(控制台)”,
Startup.cs
文件中的appsettings.json
。它们都返回为空/空
webapi的launch.json
配置是通过添加.NET核心启动(控制台)
配置生成的。我还尝试添加.netcorelaunch(web)
配置,但出现了相同的问题
然后我唯一需要更改的是“program”
设置,以指向项目文件夹中的正确dll
这是我的launch.json
{
“版本”:“0.2.0”,
“配置”:[
{
“名称”:“.NET核心启动(控制台)”,
“类型”:“coreclr”,
“请求”:“启动”,
“预启动任务”:“构建”,
“程序”:“${workspaceFolder}/SATestUtils.API/bin/Debug/netcoreapp3.1/SATestUtils.API.dll”,
“args”:[],
“cwd”:“${workspaceFolder}”,
“stopAtEntry”:false,
“控制台”:“内部控制台”
}
]
}
这是我的tasks.json
{
“版本”:“2.0.0”,
“任务”:[
{
“标签”:“构建”,
“命令”:“dotnet”,
“类型”:“过程”,
“args”:[
“建造”,
“${workspaceFolder}/SATestUtils.Api/SATestUtils.Api.csproj”,
“/property:generativellpaths=true”,
“/ConsoleLogger参数:NoSummary”
],
“问题匹配器”:“$msCompile”
},
{
“标签”:“发布”,
“命令”:“dotnet”,
“类型”:“过程”,
“args”:[
“发布”,
“${workspaceFolder}/SATestUtils.Api/SATestUtils.Api.csproj”,
“/property:generativellpaths=true”,
“/ConsoleLogger参数:NoSummary”
],
“问题匹配器”:“$msCompile”
},
{
“标签”:“手表”,
“命令”:“dotnet”,
“类型”:“过程”,
“args”:[
“看”,
“跑”,
“${workspaceFolder}/SATestUtils.Api/SATestUtils.Api.csproj”,
“/property:generativellpaths=true”,
“/ConsoleLogger参数:NoSummary”
],
“问题匹配器”:“$msCompile”
}
]
}
这是我的appsettings.json
和appsettings.Development.json
文件
{
“连接字符串”:{
“DefaultConnection”:“数据源=(localdb)\\MSSQLLocalDB;初始目录=SaTestUtils”
},
“日志记录”:{
“日志级别”:{
“默认值”:“信息”,
“Microsoft”:“警告”,
“Microsoft.Hosting.Lifetime”:“信息”
}
},
“StorageAccountName”:“devstoreaccount1”,
“蓝精灵”:{
“实例”:https://login.microsoftonline.com",
“域”:“[域]”,
“承租人”:“[承租人]”,
“ClientId”:“[ClientId]”,
“范围”:“[范围]”
},
“AllowedHosts”:“*”
}
当我在Startup.cs
var connectionString=Configuration[“ConnectionStrings:DefaultConnection”];
WriteLine($“连接字符串={connectionString}”);
我只是将以下内容记录到调试终端
Connection string =
appsettings.json
中的所有其他设置也不会返回。使用dotnet run
时返回正确的设置
这里可能有什么问题
请注意,我的工作目录中有一个解决方案文件,然后我有一个名为
SATestUtils.API
的文件夹,其中包含我的webapi项目的SATestUtils.API.csproj
文件。我也经历过同样的情况,对我来说,起作用的是之前评论过的内容:
将launch.json中“cwd”属性的值更改为项目目录的值
{
...
“cwd”:“${workspaceFolder}”
}
到
{
...
“cwd”:“${workspaceFolder}/SATestUtils.API”
}
所有的学分都是
在终端中使用
dotnet build
和dotnet run
启动应用程序时,您可以阅读appsettings.json
吗?是的,它们被正确加载看起来cwd
的值与您的项目目录不同。如果您将该值从${workspaceFolder}
更改为${workspaceFolder}/SATestUtils.API
?我也遇到了同样的问题,但除了修复cwd
条目外,我还必须将“console”:“internalConsole”
添加到launch.json
中,非常感谢。