Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 在vscode中调试.net core webapi时无法读取appsettings.json_Visual Studio Code_Asp.net Core Webapi_Vscode Debugger - Fatal编程技术网

Visual studio code 在vscode中调试.net core webapi时无法读取appsettings.json

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核心启动(控制台)”,

在vscode中调试时,我无法读取webapi项目的
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
中,非常感谢。