asp.net core6.0跨平台 webapi探索之路笔记

部署iis 说明

需要下载的环境文件
dotnet-sdk-6.0.101-win-x64
dotnet-runtime-6.0.1-win-x64
dotnet-hosting-6.0.1-win
开发工具的设置
点击生成-发布-新建-web服务器(iis)-web部署
名称随意
服务器名填写 localhost
名称 随意
目标url可填写 http://localhost
完成之后在项目的Properties/PublishProfiles下面将会有类似 IISProfile.pubxml
内容如下:




  
    MSDeploy
    Release
    Any CPU
    http://localhost
    True
    False
    net6.0-windows
    be780593-84c5-4a09-b3fb-f500145a8846
    false
    localhost
    aa
    
    True
    InProc
    False
    True
    
    <_SavePWD>False
  

IISProfile.pubxml.user 内容




  
    
    
    True|2022-04-11T03:05:52.0617759Z;True|2022-01-19T16:03:58.2520637+08:00;False|2022-01-19T16:03:05.4823573+08:00;True|2022-01-19T15:59:09.0954556+08:00;False|2022-01-19T15:58:22.9373700+08:00;True|2022-01-19T15:53:10.2577495+08:00;False|2022-01-19T15:52:52.6394774+08:00;False|2022-01-19T15:52:26.9875533+08:00;False|2022-01-19T15:51:59.1684103+08:00;True|2022-01-19T15:20:58.1478608+08:00;True|2022-01-15T11:45:30.9450507+08:00;True|2022-01-10T14:28:46.0362383+08:00;False|2022-01-10T14:28:11.5964521+08:00;False|2022-01-10T14:27:36.9883852+08:00;False|2022-01-10T14:27:10.3117651+08:00;True|2022-01-10T14:11:47.7788928+08:00;False|2022-01-10T14:11:12.5424528+08:00;False|2022-01-10T14:10:53.1590665+08:00;False|2022-01-10T14:10:21.8094403+08:00;False|2022-01-10T14:10:13.3624817+08:00;False|2022-01-10T14:09:25.9789310+08:00;True|2022-01-04T10:46:07.9197171+08:00;True|2021-12-31T09:35:11.0586029+08:00;True|2021-12-31T09:16:27.6069207+08:00;True|2021-12-18T10:49:20.3868688+08:00;False|2021-12-18T10:48:51.0400350+08:00;True|2021-12-09T11:46:34.0511210+08:00;True|2021-12-09T11:16:59.3795850+08:00;True|2021-12-09T11:13:49.3916539+08:00;True|2021-12-09T11:00:16.1647336+08:00;True|2021-12-09T10:58:09.0221247+08:00;True|2021-12-09T10:43:35.4762064+08:00;True|2021-12-09T10:38:31.0493719+08:00;True|2021-12-09T10:35:10.1340019+08:00;False|2021-12-09T10:34:10.1283678+08:00;False|2021-12-09T10:33:54.5038895+08:00;False|2021-12-09T10:32:12.2128610+08:00;False|2021-12-09T10:29:34.5373234+08:00;False|2021-12-09T10:29:27.2742621+08:00;True|2021-12-09T09:24:58.7292543+08:00;True|2021-12-09T09:22:47.2763629+08:00;True|2021-12-09T09:15:37.5165294+08:00;True|2021-12-09T09:12:03.8326609+08:00;True|2021-12-09T09:11:17.7982571+08:00;True|2021-12-09T09:11:09.5515674+08:00;True|2021-12-09T09:10:59.4160234+08:00;True|2021-12-09T09:10:04.0148879+08:00;False|2021-12-09T09:08:19.1485833+08:00;True|2021-12-09T09:07:05.6202499+08:00;
    <_PublishTargetUrl>C:\work\website\site1
  


在Properties也有launchSettings.json 下面分别有多种方式启动,wsl 子系统, Kestrel ,iis都是可以的。

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:10615/",
      "sslPort": 0
    }
  },
  "profiles": {
    "0_Kestrel_Project": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "https://localhost:5001/swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_URLS": "https://*:5001;http://*:5002"
      }
    },
    "1_Kestrel_Project_http": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "http://localhost:5002/swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_URLS": "https://*:5001;http://*:5002"
      }
    },
    "IISExpress": {
      "commandName": "IISExpress",
      "launchBrowser": true,

      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_URLS": "https://*:5001;http://*:5002"
      }
    },
    "IISExpress1": {
      "commandName": "IISExpress2",
      "launchBrowser": true,
      "applicationUrl": "http://localhost:5002/",
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_URLS": "https://*:5001;http://*:5002"
      }
    },
    "WSL_default": {
      "commandName": "WSL",
      "launchBrowser": true,
      "launchUrl": "https://192.168.1.35:5001/swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_URLS": "https://*:5001;http://*:5002"
      },
      "distributionName": ""
    },
    "WSL_Ubuntu": {
      "commandName": "WSL2",
      "launchBrowser": true,
      "launchUrl": "https://192.168.1.35:5001/swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_URLS": "https://*:5001;http://*:5002"
      },
      "distributionName": "Ubuntu-20.04"
    },
    "WSL_Debian": {
      "commandName": "WSL2",
      "launchBrowser": true,
      "launchUrl": "https://192.168.1.35:5001/swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_URLS": "https://*:5001;http://*:5002"
      },
      "distributionName": "Debian"
    }
  }
}

iis发布方式iis里面的设置
https://dotnet.microsoft.com/en-us/download/dotnet/6.0
新建应用池选中无托管代码
托管通道选择集成。

选中新建的网站-基本设置选择自己创建的应用池。
在模块里面如果能看到AspNetCoreModuleV2之类的代表差不多成功了。

文件系统发布

文件系统发布更加简单,但是运行则需要打开exe或者用dll运行,如果exe方式不行就可以用dll方式载入,文件系统发布后都会生成对应的exe和dll

dotnet webapi_test.dll

文件系统的在开发工具里面显示的配置
C:\Users\qssq5\source\repos\webapi_test\webapi_test\Properties\PublishProfiles\FolderProfile.pubxml
FolderProfile.pubxml内容




  
    false
    false
    true
    Release
    x64
    FileSystem
    C:\work
    FileSystem
    
    net6.0-windows
    577e403a-2446-4b23-a26f-f06cca10dfc6
    false
  

说明

.net web api 创建方法

新建项目 asp.net core项目 z

webapi网站快速搭建

参考网址
https://blog.csdn.net/mzl87/article/details/106877858

. 创建命令

dotnet new webapi --name MainWebAPI

进入创建好的目录
dotnet run
可在控制台看到服务跑起来了并有2个网址分别是http和https的,打开之后发现并不能打开什么东西,加上WeatherForecast就可以了
https://localhost:5001/WeatherForecast/

输出了json

[
{
date: "2021-12-10T10:03:56.4879093+08:00",
temperatureC: 32,
temperatureF: 89,
summary: "Balmy",
},
{
date: "2021-12-11T10:03:56.4881151+08:00",
temperatureC: 37,
temperatureF: 98,
summary: "Freezing",
},
{
date: "2021-12-12T10:03:56.4881171+08:00",
temperatureC: 45,
temperatureF: 112,
summary: "Warm",
},
{
date: "2021-12-13T10:03:56.4881173+08:00",
temperatureC: -11,
temperatureF: 13,
summary: "Balmy",
},
{
date: "2021-12-14T10:03:56.4881174+08:00",
temperatureC: 52,
temperatureF: 125,
summary: "Mild",
},
]


dotnet watch run
运行项目实时变化

webapi参数定义

  • 必须传递json
     [HttpPost()]
        public string Post([FromBody] object obj)

代表传递对象为json ,请求头必须为 application/json
obj的类型为 System.Text.Json.JsonElement

+ 任意ContentType  
     [HttpPost()]
        public string Post( string obj)

传参的格式 obj=???

调试

在绿色箭头点击下拉列表,选择WSL linux子系统进行调试。

让其他网段访问

在launchSettings.json修改

"ASPNETCORE_URLS": "https://localhost:7214;http://localhost:5214;http://*:5214;https://+:7214;http://0.0.0.0:5005"
也可以通过

 var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
 //app.Urls.Add("http://*:5214");
//app.Urls.Add("https://*:7214");

或者

S": "http://localhost:5214;https://localhost:7214;http://*:5215;https://+:5216;http://0.0.0.0:5005"

关于重定向

刚开始以为是urls配置问题
我进行了如下测试:

其中 "ASPNETCORE_URLS": "http://localhost:5214;https://localhost:7214;http://*:5215;https://+:5216;http://0.0.0.0:5005"
分别可以用http://localhost:5214;https://localhost:7214
http://192.168.1.35:5005/swagger/index.html 和 https://192.168.1.35:5216/swagger/index.html 访问。 5005

修改为 "ASPNETCORE_URLS": "https://+:5216;http://0.0.0.0:5005"
http://192.168.1.35:5005/sql/SQLRequestControl 自动跳转到 https://+:5216
修改为 "ASPNETCORE_URLS": "https://:5216;http://0.0.0.0:5005" http依然自动跳转
最终改成 "ASPNETCORE_URLS": "https://
:5001;http://*:5002"

如果多个指向,还可能出现这个提示Cannot determine the https port from IServerAddressesFeature, multiple va

后面用手机访问 还是会自动跳转 重定向

-11 09:39:52.127/HttpLogInfo: --> POST http://192.168.1.35:5002/sql/SQLRequestControl/str http/1.1
W/HttpLogInfo: Content-Type: application/json;charset=UTF-8
W/HttpLogInfo: Content-Length: 613
W/HttpLogInfo: Host: 192.168.1.35:5002
W/HttpLogInfo: Connection: Keep-Alive
W/HttpLogInfo: Accept-Encoding: gzip
W/HttpLogInfo: User-Agent: okhttp/3.12.0
W/HttpLogInfo: {"content":"select  distinct md.ModuleName ,cast(md.ActionIDInPDA as varchar(6)) + ' - ' + md.ActionNameInPDA title, md.ActionIDInPDA id,gm.Grant_Query,gm.Grant_Add,gm.Grant_Update,gm.Grant_Delete  from UserGroupInfo ug inner join GroupModuleInfo gm on ug.GroupID=gm.GroupID \n                                 inner join ModuleInfo md on gm.ModuleName =md.ModuleName   where  ug.bValid =1 and md.ModuleNamePDA='CK-PIO' and md.bValid =1 and md.bModInPDA=1\n                                     and (gm.Grant_Query=1 or gm.Grant_Add=1 or gm.Grant_Update=1 or gm.Grant_Delete=1)  Order by md.ActionIDInPDA","type":1}
W/HttpLogInfo: --> END POST (613-byte body)
W/HttpLogInfo: <-- 307 Temporary Redirect http://192.168.1.35:5002/sql/SQLRequestControl/str (6ms)
W/HttpLogInfo: Content-Length: 0
W/HttpLogInfo: Date: Sat, 11 Dec 2021 01:39:53 GMT
W/HttpLogInfo: Server: Kestrel
W/HttpLogInfo: Location: https://192.168.1.35:5001/sql/SQLRequestControl/str
W/HttpLogInfo: <-- END HTTP (0-byte body)

最后解决办法,不是网上说的那么复杂,直接 注释//app.UseHttpsRedirection();即可。
Swagge


builder.Services.AddSwaggerGen(c =>
{
    //c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
    c.SwaggerDoc("v1", new OpenApiInfo
    {
        Version = "v1",
        Title = "WEBAPI",
        Description = "一个 ASP.NET Core Web API",
        //TermsOfService = "None", https://google.com
        Contact = new OpenApiContact
        {
            Name = "链接1",
            Email = string.Empty,
            Url = new Uri("http://baidu.com")
        },
        License = new OpenApiLicense
        {
            Name = "链接2",
            Url = new Uri("http://lozn.github.io")
        }
    });

    // 为 Swagger JSON and UI设置xml文档注释路径
    var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);//获取应用程序所在目录(绝对,不受工作目录影响,建议采用此方法获取路径)
    var xmlPath = Path.Combine(basePath, "webapi_test.xml");//项目属性-配置-生成-输出 -xml里面选择的路径
    if (File.Exists(xmlPath))
    {
        c.IncludeXmlComments(xmlPath);
        Console.WriteLine("found xml path  ->" + xmlPath);
    }
    else
    {
        Console.WriteLine("xml path not exist ->" + xmlPath);
    }
});


var app = builder.Build();
app.UseStaticFiles();
// Configure the HTTP request pipeline.
//if (app.Environment.IsDevelopment())
//{
app.UseSwagger();
//app.UseSwaggerUI();

//启用中间件服务对swagger-ui,指定Swagger JSON终结点 
app.UseSwaggerUI(c =>
{
    //https://localhost:5001/swagger/v1/swagger.json 自动输出所有.
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");



});

-注意事项
Swagger里面的测试功能只支持https,所以默认启动我改成了https,
启动配置如下


 "WSL": {
            "commandName": "WSL2",
            "launchBrowser": true,
            "launchUrl": "https://192.168.1.35:5001/swagger",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development",
                "ASPNETCORE_URLS": "https://*:5001;http://*:5002"
            },
            "distributionName": ""
        }


Visual Studio工具玩耍

  • 三种市场
  • 工具-获取工具和功能

比如需要下载用于flutter跨平台开发的c++ window桌面开发库,就需要从这里勾选
用于工具编译的库什么的下载

  • NuGet管理器

用于项目插件市场 比如需要下载个·Dapper,Newtonsoft.json解析包

  • 扩展
    用于开发工具插件,比如下载markdown 插件

接口请求返回错误

asp.net core  One or more validation errors occurred.","s

仔细看完整的错误内容,这其实是http请求中的某些参数没有传递导致的。

测试SQL接口 type1

{
    "type":1,
    "content":"SELECT NAME FROM MASTER.DBO.SYSDATABASES ORDER BY NAME"
}

更多sql https://www.cnblogs.com/qianjinyan/p/9636535.html

web installer

https://www.microsoft.com/web/Downloads/platform.aspx
可以安装iis press
WebMatrix WebMatrix 包含了iis press

该项目不知如何运行配置文件

The project doesn't know how to run the profile IIS Express
进入获取工具与功能,
勾选 ASP.NET AND DEVELOPMENT
单个组件中勾选

开发时间IIS support

勾选 iis express
勾选Asp.net and web开发工具
还是不行重新取消勾选再重新勾选
启动配置 IISExpress默认是识别的10546的swagger
Kestrel Project支持设置 ASPNETCORE_URLS 但是设置在IIS Express上没效果,
launchUrl中iis支持直接写swagger来启动 xxx:xx/swagger/index.html

launchSettings.json
{
    "$schema": "https://json.schemastore.org/launchsettings.json",
    "iisSettings": {
        "windowsAuthentication": false,
        "anonymousAuthentication": true,
        "iisExpress": {
            "applicationUrl": "http://localhost:10546",
            "sslPort": 0
        }
    },
    "profiles": {
        "Kestrel": {
            "commandName": "Project",
            "launchBrowser": true,
            "launchUrl": "swagger",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development",
                "ASPNETCORE_URLS": "https://192.168.1.35:7044;http://192.168.1.35:5044"
            },
            "dotnetRunMessages": true
        },
        "IIS Express": {
            "commandName": "IISExpress",
            "launchBrowser": true,
            "launchUrl": "swagger",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "use64Bit": true,
            "ancmHostingModel": "InProcess"
        },
        "WSL": {
            "commandName": "WSL2",
            "launchBrowser": true,
            "launchUrl": "https://localhost:7044/swagger",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development",
                "ASPNETCORE_URLS": "https://localhost:7044;http://localhost:5044"
            },
            "distributionName": ""
        }
    }
}

IIS中删掉 "sslPort": 44377 则使用http端口 10546 设置为0 和删掉效果一样
profiles节点 中的iis express设置applicationUrl无效 ASPNETCORE_URLS无效

WSL启动未将对象引用设置到对象的实例 怀疑是docker导致的
https://developercommunity.visualstudio.com/t/wsl-2-launch-profile-gives-a-null-reference-error/1494754?viewtype=solutions
wsl升级2
wsl.exe --set-version Ubuntu 2
查看linux

uname -a
cat /proc/version
lsb_release -a


切换wsl子系统

wslconfig /setdefault Debian

sql上传文件
https://blog.csdn.net/wuxianwei/article/details/2052490

binary(n):固定长度为 n 字节,其中 n 值从 1 到 8,000 ,存储空间为 n 字节;
varbinary( n | max):可变长度,n 的取值范围为 1 至 8,000,max 是指最大存储空间是 2^31-1 个字节,即最大4GB;
sg": "A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - 远程主机强迫关闭了一个现有的连接。)

发布到iis




  
    MSDeploy
    Release
    Any CPU
    http://localhost/WeatherForecast/
    True
    False
    net6.0-windows
    be780593-84c5-4a09-b3fb-f500145a8846
    false
    localhost
    aa
    
    True
    InProc
    False
    True
    
    <_SavePWD>False
  






TargetFramework选择window的net.6.0

  • iis中的设置
    应用池
    选择无托管代码
    托管模式选择集成
    给aa分配引用池。

iis中选择 aa网站

模块中
确保Asp.Net Core Module v2是否已添加

发布后,定位web文件夹

└─runtimes
    ├─unix
    │  └─lib
    │      ├─net6.0
    │      ├─netcoreapp2.1
    │      └─netcoreapp3.1
    ├─win
    │  └─lib
    │      ├─net6.0
    │      ├─netcoreapp2.1
    │      ├─netcoreapp3.1
    │      └─netstandard2.0
    ├─win-arm
    │  └─native
    ├─win-arm64
    │  └─native
    ├─win-x64
    │  └─native
    └─win-x86
        └─native

-a----        2021/10/23      8:03         126064 System.Threading.Tasks.Parallel.dll
-a----        2021/10/23      7:44          14960 System.Threading.Thread.dll
-a----        2021/10/23      7:44          14976 System.Threading.ThreadPool.dll
-a----        2021/10/23      7:44          14464 System.Threading.Timer.dll
-a----        2021/10/23      7:44          16000 System.Transactions.dll
-a----        2021/10/23      8:03         316008 System.Transactions.Local.dll
-a----        2021/10/23      7:44          14464 System.ValueTuple.dll
-a----        2021/10/23      7:44          14976 System.Web.dll
-a----        2021/10/23      8:03          50280 System.Web.HttpUtility.dll
-a----        2021/10/23      7:44          15456 System.Windows.dll
-a----        2021/10/23      7:49          25712 System.Windows.Extensions.dll
-a----        2021/10/23      7:44          23680 System.Xml.dll
-a----        2021/10/23      7:44          15488 System.Xml.Linq.dll
-a----        2021/10/23      7:44          21120 System.Xml.ReaderWriter.dll
-a----        2021/10/23      7:44          15488 System.Xml.Serialization.dll
-a----        2021/10/23      7:44          14952 System.Xml.XDocument.dll
-a----        2021/10/23      7:44          14952 System.Xml.XmlDocument.dll
-a----        2021/10/23      7:44          17024 System.Xml.XmlSerializer.dll
-a----        2021/10/23      7:44          14976 System.Xml.XPath.dll
-a----        2021/10/23      8:03          17008 System.Xml.XPath.XDocument.dll
-a----         2020/12/2     12:59        1170904 ucrtbase.dll
-a----        2021/12/18     10:49            555 web.config
-a----        2021/12/18     10:49          40702 webapi_test.deps.json
-a----        2021/12/18     10:49          59904 webapi_test.dll
-a----        2021/12/18     10:49         149504 webapi_test.exe
-a----        2021/12/18     10:49            488 webapi_test.runtimeconfig.json
-a----        2021/12/18     10:49           7448 webapi_test.xml
-a----        2021/10/23      7:44          15984 WindowsBase.dll

打开 里面的web.config



  
    
      
        
      
      
    
  



deps.json

{
  "runtimeTarget": {
    "name": ".NETCoreApp,Version=v6.0",
    "signature": ""
  },
  "compilationOptions": {},
  "targets": {
    ".NETCoreApp,Version=v6.0": {
      "webapi_test/1.0.0": {
        "dependencies": {
          "Dapper": "2.0.123",
          "Microsoft.Data.SqlClient": "4.0.0",
          "Newtonsoft.Json": "13.0.1",
          "Swashbuckle.AspNetCore": "6.2.3",
          "Swashbuckle.AspNetCore.Swagger": "6.2.3",
          "Swashbuckle.AspNetCore.SwaggerGen": "6.2.3",
          "System.Data.OleDb": "6.0.0",
          "System.Data.SqlClient": "4.8.3"
        },
        "runtime": {
          "webapi_test.dll": {}
        }
      },
      "Azure.Core/1.6.0": {
        "dependencies": {
          "Microsoft.Bcl.AsyncInterfaces": "1.0.0",
          "System.Buffers": "4.5.1",
          "System.Diagnostics.DiagnosticSource": "5.0.0",
          "System.Memory": "4.5.3",
          "System.Numerics.Vectors": "4.5.0",
          "System.Text.Json": "4.6.0",
          "System.Threading.Tasks.Extensions": "4.5.2"
        },
        "runtime": {
          "lib/netstandard2.0/Azure.Core.dll": {
            "assemblyVersion": "1.6.0.0",
            "fileVersion": "1.600.20.52802"
          }
        }
      },
      "Azure.Identity/1.3.0": {
        "dependencies": {
          "Azure.Core": "1.6.0",
          "Microsoft.Identity.Client": "4.22.0",
          "Microsoft.Identity.Client.Extensions.Msal": "2.16.5",
          "System.Memory": "4.5.3",
          "System.Security.Cryptography.ProtectedData": "6.0.0",
          "System.Text.Json": "4.6.0",
          "System.Threading.Tasks.Extensions": "4.5.2"
        },
        "runtime": {
          "lib/netstandard2.0/Azure.Identity.dll": {
            "assemblyVersion": "1.3.0.0",
            "fileVersion": "1.300.20.56202"
          }
        }
      },
      "Dapper/2.0.123": {
        "runtime": {
          "lib/net5.0/Dapper.dll": {
            "assemblyVersion": "2.0.0.0",
            "fileVersion": "2.0.123.33578"
          }
        }
      },
      "Microsoft.Bcl.AsyncInterfaces/1.0.0": {
        "runtime": {
          "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": {
            "assemblyVersion": "1.0.0.0",
            "fileVersion": "4.700.19.46214"
          }
        }
      },
      "Microsoft.CSharp/4.5.0": {},
      "Microsoft.Data.SqlClient/4.0.0": {
        "dependencies": {
          "Azure.Identity": "1.3.0",
          "Microsoft.Data.SqlClient.SNI.runtime": "4.0.0",
          "Microsoft.Identity.Client": "4.22.0",
          "Microsoft.IdentityModel.JsonWebTokens": "6.8.0",
          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.8.0",
          "Microsoft.Win32.Registry": "5.0.0",
          "System.Buffers": "4.5.1",
          "System.Configuration.ConfigurationManager": "6.0.0",
          "System.Diagnostics.DiagnosticSource": "5.0.0",
          "System.IO": "4.3.0",
          "System.Resources.ResourceManager": "4.3.0",
          "System.Runtime.Caching": "5.0.0",
          "System.Security.Cryptography.Cng": "5.0.0",
          "System.Security.Principal.Windows": "5.0.0",
          "System.Text.Encoding.CodePages": "5.0.0",
          "System.Text.Encodings.Web": "4.7.2"
        },
        "runtime": {
          "lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": {
            "assemblyVersion": "4.0.0.0",
            "fileVersion": "4.0.0.0"
          }
        },
        "runtimeTargets": {
          "runtimes/unix/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": {
            "rid": "unix",
            "assetType": "runtime",
            "assemblyVersion": "4.0.0.0",
            "fileVersion": "4.0.0.0"
          },
          "runtimes/win/lib/netcoreapp3.1/Microsoft.Data.SqlClient.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "4.0.0.0",
            "fileVersion": "4.0.0.0"
          }
        }
      },
      "Microsoft.Data.SqlClient.SNI.runtime/4.0.0": {
        "runtimeTargets": {
          "runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll": {
            "rid": "win-arm",
            "assetType": "native",
            "fileVersion": "4.0.0.0"
          },
          "runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": {
            "rid": "win-arm64",
            "assetType": "native",
            "fileVersion": "4.0.0.0"
          },
          "runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": {
            "rid": "win-x64",
            "assetType": "native",
            "fileVersion": "4.0.0.0"
          },
          "runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": {
            "rid": "win-x86",
            "assetType": "native",
            "fileVersion": "4.0.0.0"
          }
        }
      },
      "Microsoft.Extensions.ApiDescription.Server/3.0.0": {},
      "Microsoft.Identity.Client/4.22.0": {
        "runtime": {
          "lib/netcoreapp2.1/Microsoft.Identity.Client.dll": {
            "assemblyVersion": "4.22.0.0",
            "fileVersion": "4.22.0.0"
          }
        }
      },
      "Microsoft.Identity.Client.Extensions.Msal/2.16.5": {
        "dependencies": {
          "Microsoft.Identity.Client": "4.22.0",
          "System.Security.Cryptography.ProtectedData": "6.0.0"
        },
        "runtime": {
          "lib/netcoreapp2.1/Microsoft.Identity.Client.Extensions.Msal.dll": {
            "assemblyVersion": "2.16.5.0",
            "fileVersion": "2.16.5.0"
          }
        }
      },
      "Microsoft.IdentityModel.JsonWebTokens/6.8.0": {
        "dependencies": {
          "Microsoft.IdentityModel.Tokens": "6.8.0"
        },
        "runtime": {
          "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
            "assemblyVersion": "6.8.0.0",
            "fileVersion": "6.8.0.11012"
          }
        }
      },
      "Microsoft.IdentityModel.Logging/6.8.0": {
        "runtime": {
          "lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll": {
            "assemblyVersion": "6.8.0.0",
            "fileVersion": "6.8.0.11012"
          }
        }
      },
      "Microsoft.IdentityModel.Protocols/6.8.0": {
        "dependencies": {
          "Microsoft.IdentityModel.Logging": "6.8.0",
          "Microsoft.IdentityModel.Tokens": "6.8.0"
        },
        "runtime": {
          "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.dll": {
            "assemblyVersion": "6.8.0.0",
            "fileVersion": "6.8.0.11012"
          }
        }
      },
      "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": {
        "dependencies": {
          "Microsoft.IdentityModel.Protocols": "6.8.0",
          "System.IdentityModel.Tokens.Jwt": "6.8.0"
        },
        "runtime": {
          "lib/netstandard2.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
            "assemblyVersion": "6.8.0.0",
            "fileVersion": "6.8.0.11012"
          }
        }
      },
      "Microsoft.IdentityModel.Tokens/6.8.0": {
        "dependencies": {
          "Microsoft.CSharp": "4.5.0",
          "Microsoft.IdentityModel.Logging": "6.8.0",
          "System.Security.Cryptography.Cng": "5.0.0"
        },
        "runtime": {
          "lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll": {
            "assemblyVersion": "6.8.0.0",
            "fileVersion": "6.8.0.11012"
          }
        }
      },
      "Microsoft.NETCore.Platforms/5.0.0": {},
      "Microsoft.NETCore.Targets/1.1.0": {},
      "Microsoft.OpenApi/1.2.3": {
        "runtime": {
          "lib/netstandard2.0/Microsoft.OpenApi.dll": {
            "assemblyVersion": "1.2.3.0",
            "fileVersion": "1.2.3.0"
          }
        }
      },
      "Microsoft.Win32.Registry/5.0.0": {
        "dependencies": {
          "System.Security.AccessControl": "6.0.0",
          "System.Security.Principal.Windows": "5.0.0"
        }
      },
      "Microsoft.Win32.SystemEvents/6.0.0": {
        "runtime": {
          "lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "Newtonsoft.Json/13.0.1": {
        "runtime": {
          "lib/netstandard2.0/Newtonsoft.Json.dll": {
            "assemblyVersion": "13.0.0.0",
            "fileVersion": "13.0.1.25517"
          }
        }
      },
      "runtime.native.System.Data.SqlClient.sni/4.7.0": {
        "dependencies": {
          "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
          "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
          "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
        }
      },
      "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
        "runtimeTargets": {
          "runtimes/win-arm64/native/sni.dll": {
            "rid": "win-arm64",
            "assetType": "native",
            "fileVersion": "4.6.25512.1"
          }
        }
      },
      "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
        "runtimeTargets": {
          "runtimes/win-x64/native/sni.dll": {
            "rid": "win-x64",
            "assetType": "native",
            "fileVersion": "4.6.25512.1"
          }
        }
      },
      "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
        "runtimeTargets": {
          "runtimes/win-x86/native/sni.dll": {
            "rid": "win-x86",
            "assetType": "native",
            "fileVersion": "4.6.25512.1"
          }
        }
      },
      "Swashbuckle.AspNetCore/6.2.3": {
        "dependencies": {
          "Microsoft.Extensions.ApiDescription.Server": "3.0.0",
          "Swashbuckle.AspNetCore.Swagger": "6.2.3",
          "Swashbuckle.AspNetCore.SwaggerGen": "6.2.3",
          "Swashbuckle.AspNetCore.SwaggerUI": "6.2.3"
        }
      },
      "Swashbuckle.AspNetCore.Swagger/6.2.3": {
        "dependencies": {
          "Microsoft.OpenApi": "1.2.3"
        },
        "runtime": {
          "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
            "assemblyVersion": "6.2.3.0",
            "fileVersion": "6.2.3.0"
          }
        }
      },
      "Swashbuckle.AspNetCore.SwaggerGen/6.2.3": {
        "dependencies": {
          "Swashbuckle.AspNetCore.Swagger": "6.2.3"
        },
        "runtime": {
          "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
            "assemblyVersion": "6.2.3.0",
            "fileVersion": "6.2.3.0"
          }
        }
      },
      "Swashbuckle.AspNetCore.SwaggerUI/6.2.3": {
        "runtime": {
          "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
            "assemblyVersion": "6.2.3.0",
            "fileVersion": "6.2.3.0"
          }
        }
      },
      "System.Buffers/4.5.1": {},
      "System.Configuration.ConfigurationManager/6.0.0": {
        "dependencies": {
          "System.Security.Cryptography.ProtectedData": "6.0.0",
          "System.Security.Permissions": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Configuration.ConfigurationManager.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "System.Data.OleDb/6.0.0": {
        "dependencies": {
          "System.Configuration.ConfigurationManager": "6.0.0",
          "System.Diagnostics.PerformanceCounter": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Data.OleDb.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/net6.0/System.Data.OleDb.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "System.Data.SqlClient/4.8.3": {
        "dependencies": {
          "Microsoft.Win32.Registry": "5.0.0",
          "System.Security.Principal.Windows": "5.0.0",
          "runtime.native.System.Data.SqlClient.sni": "4.7.0"
        },
        "runtime": {
          "lib/netcoreapp2.1/System.Data.SqlClient.dll": {
            "assemblyVersion": "4.6.1.3",
            "fileVersion": "4.700.21.41603"
          }
        },
        "runtimeTargets": {
          "runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
            "rid": "unix",
            "assetType": "runtime",
            "assemblyVersion": "4.6.1.3",
            "fileVersion": "4.700.21.41603"
          },
          "runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "4.6.1.3",
            "fileVersion": "4.700.21.41603"
          }
        }
      },
      "System.Diagnostics.DiagnosticSource/5.0.0": {},
      "System.Diagnostics.PerformanceCounter/6.0.0": {
        "dependencies": {
          "System.Configuration.ConfigurationManager": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Diagnostics.PerformanceCounter.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/net6.0/System.Diagnostics.PerformanceCounter.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "System.Drawing.Common/6.0.0": {
        "dependencies": {
          "Microsoft.Win32.SystemEvents": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Drawing.Common.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        },
        "runtimeTargets": {
          "runtimes/unix/lib/net6.0/System.Drawing.Common.dll": {
            "rid": "unix",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          },
          "runtimes/win/lib/net6.0/System.Drawing.Common.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "System.Formats.Asn1/5.0.0": {},
      "System.Globalization/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "5.0.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.IdentityModel.Tokens.Jwt/6.8.0": {
        "dependencies": {
          "Microsoft.IdentityModel.JsonWebTokens": "6.8.0",
          "Microsoft.IdentityModel.Tokens": "6.8.0"
        },
        "runtime": {
          "lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll": {
            "assemblyVersion": "6.8.0.0",
            "fileVersion": "6.8.0.11012"
          }
        }
      },
      "System.IO/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "5.0.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0",
          "System.Text.Encoding": "4.3.0",
          "System.Threading.Tasks": "4.3.0"
        }
      },
      "System.Memory/4.5.3": {},
      "System.Numerics.Vectors/4.5.0": {},
      "System.Reflection/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "5.0.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.IO": "4.3.0",
          "System.Reflection.Primitives": "4.3.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Reflection.Primitives/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "5.0.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Resources.ResourceManager/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "5.0.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Globalization": "4.3.0",
          "System.Reflection": "4.3.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Runtime/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "5.0.0",
          "Microsoft.NETCore.Targets": "1.1.0"
        }
      },
      "System.Runtime.Caching/5.0.0": {
        "dependencies": {
          "System.Configuration.ConfigurationManager": "6.0.0"
        },
        "runtime": {
          "lib/netstandard2.0/System.Runtime.Caching.dll": {
            "assemblyVersion": "4.0.0.0",
            "fileVersion": "5.0.20.51904"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/netstandard2.0/System.Runtime.Caching.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "4.0.0.0",
            "fileVersion": "5.0.20.51904"
          }
        }
      },
      "System.Security.AccessControl/6.0.0": {},
      "System.Security.Cryptography.Cng/5.0.0": {
        "dependencies": {
          "System.Formats.Asn1": "5.0.0"
        }
      },
      "System.Security.Cryptography.ProtectedData/6.0.0": {
        "runtime": {
          "lib/net6.0/System.Security.Cryptography.ProtectedData.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "System.Security.Permissions/6.0.0": {
        "dependencies": {
          "System.Security.AccessControl": "6.0.0",
          "System.Windows.Extensions": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Security.Permissions.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      },
      "System.Security.Principal.Windows/5.0.0": {},
      "System.Text.Encoding/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "5.0.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Text.Encoding.CodePages/5.0.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "5.0.0"
        }
      },
      "System.Text.Encodings.Web/4.7.2": {},
      "System.Text.Json/4.6.0": {},
      "System.Threading.Tasks/4.3.0": {
        "dependencies": {
          "Microsoft.NETCore.Platforms": "5.0.0",
          "Microsoft.NETCore.Targets": "1.1.0",
          "System.Runtime": "4.3.0"
        }
      },
      "System.Threading.Tasks.Extensions/4.5.2": {},
      "System.Windows.Extensions/6.0.0": {
        "dependencies": {
          "System.Drawing.Common": "6.0.0"
        },
        "runtime": {
          "lib/net6.0/System.Windows.Extensions.dll": {
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        },
        "runtimeTargets": {
          "runtimes/win/lib/net6.0/System.Windows.Extensions.dll": {
            "rid": "win",
            "assetType": "runtime",
            "assemblyVersion": "6.0.0.0",
            "fileVersion": "6.0.21.52210"
          }
        }
      }
    }
  },
  "libraries": {
    "webapi_test/1.0.0": {
      "type": "project",
      "serviceable": false,
      "sha512": ""
    },
    "Azure.Core/1.6.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-kI4m2NsODPOrxo0OoKjk6B3ADbdovhDQIEmI4039upjjZKRaewVLx/Uz4DfRa/NtnIRZQPUALe1yvdHWAoRt4w==",
      "path": "azure.core/1.6.0",
      "hashPath": "azure.core.1.6.0.nupkg.sha512"
    },
    "Azure.Identity/1.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-l1SYfZKOFBuUFG7C2SWHmJcrQQaiXgBdVCycx4vcZQkC6efDVt7mzZ5pfJAFEJDBUq7mjRQ0RPq9ZDGdSswqMg==",
      "path": "azure.identity/1.3.0",
      "hashPath": "azure.identity.1.3.0.nupkg.sha512"
    },
    "Dapper/2.0.123": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-RDFF4rBLLmbpi6pwkY7q/M6UXHRJEOerplDGE5jwEkP/JGJnBauAClYavNKJPW1yOTWRPIyfj4is3EaJxQXILQ==",
      "path": "dapper/2.0.123",
      "hashPath": "dapper.2.0.123.nupkg.sha512"
    },
    "Microsoft.Bcl.AsyncInterfaces/1.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-K63Y4hORbBcKLWH5wnKgzyn7TOfYzevIEwIedQHBIkmkEBA9SCqgvom+XTuE+fAFGvINGkhFItaZ2dvMGdT5iw==",
      "path": "microsoft.bcl.asyncinterfaces/1.0.0",
      "hashPath": "microsoft.bcl.asyncinterfaces.1.0.0.nupkg.sha512"
    },
    "Microsoft.CSharp/4.5.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==",
      "path": "microsoft.csharp/4.5.0",
      "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512"
    },
    "Microsoft.Data.SqlClient/4.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-YGYfWg3Xth2EXAy8TBN4Fgj0FY6BnGgCtT6ypKuqKojiGAtLsRtRbP8KOXNy8+SMK6AVzAguvl8K5zX9uqg8yA==",
      "path": "microsoft.data.sqlclient/4.0.0",
      "hashPath": "microsoft.data.sqlclient.4.0.0.nupkg.sha512"
    },
    "Microsoft.Data.SqlClient.SNI.runtime/4.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-wtLlRwQX7YoBUYm25xBjJ3UsuLgycme1xXqDn8t3S5kPCWiZrx8uOkyZHLKzH4kkCiQ9m2/J5JeCKNRbZNn3Qg==",
      "path": "microsoft.data.sqlclient.sni.runtime/4.0.0",
      "hashPath": "microsoft.data.sqlclient.sni.runtime.4.0.0.nupkg.sha512"
    },
    "Microsoft.Extensions.ApiDescription.Server/3.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==",
      "path": "microsoft.extensions.apidescription.server/3.0.0",
      "hashPath": "microsoft.extensions.apidescription.server.3.0.0.nupkg.sha512"
    },
    "Microsoft.Identity.Client/4.22.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-GlamU9rs8cSVIx9WSGv5QKpt66KkE+ImxNa/wNZZUJ3knt3PM98T9sOY8B7NcEfhw7NoxU2/0TSOcmnRSJQgqw==",
      "path": "microsoft.identity.client/4.22.0",
      "hashPath": "microsoft.identity.client.4.22.0.nupkg.sha512"
    },
    "Microsoft.Identity.Client.Extensions.Msal/2.16.5": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-VlGUZEpF8KP/GCfFI59sdE0WA0o9quqwM1YQY0dSp6jpGy5EOBkureaybLfpwCuYUUjQbLkN2p7neUIcQCfbzA==",
      "path": "microsoft.identity.client.extensions.msal/2.16.5",
      "hashPath": "microsoft.identity.client.extensions.msal.2.16.5.nupkg.sha512"
    },
    "Microsoft.IdentityModel.JsonWebTokens/6.8.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-+7JIww64PkMt7NWFxoe4Y/joeF7TAtA/fQ0b2GFGcagzB59sKkTt/sMZWR6aSZht5YC7SdHi3W6yM1yylRGJCQ==",
      "path": "microsoft.identitymodel.jsonwebtokens/6.8.0",
      "hashPath": "microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512"
    },
    "Microsoft.IdentityModel.Logging/6.8.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Rfh/p4MaN4gkmhPxwbu8IjrmoDncGfHHPh1sTnc0AcM/Oc39/fzC9doKNWvUAjzFb8LqA6lgZyblTrIsX/wDXg==",
      "path": "microsoft.identitymodel.logging/6.8.0",
      "hashPath": "microsoft.identitymodel.logging.6.8.0.nupkg.sha512"
    },
    "Microsoft.IdentityModel.Protocols/6.8.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-OJZx5nPdiH+MEkwCkbJrTAUiO/YzLe0VSswNlDxJsJD9bhOIdXHufh650pfm59YH1DNevp3/bXzukKrG57gA1w==",
      "path": "microsoft.identitymodel.protocols/6.8.0",
      "hashPath": "microsoft.identitymodel.protocols.6.8.0.nupkg.sha512"
    },
    "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.8.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-X/PiV5l3nYYsodtrNMrNQIVlDmHpjQQ5w48E+o/D5H4es2+4niEyQf3l03chvZGWNzBRhfSstaXr25/Ye4AeYw==",
      "path": "microsoft.identitymodel.protocols.openidconnect/6.8.0",
      "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512"
    },
    "Microsoft.IdentityModel.Tokens/6.8.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-gTqzsGcmD13HgtNePPcuVHZ/NXWmyV+InJgalW/FhWpII1D7V1k0obIseGlWMeA4G+tZfeGMfXr0klnWbMR/mQ==",
      "path": "microsoft.identitymodel.tokens/6.8.0",
      "hashPath": "microsoft.identitymodel.tokens.6.8.0.nupkg.sha512"
    },
    "Microsoft.NETCore.Platforms/5.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==",
      "path": "microsoft.netcore.platforms/5.0.0",
      "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512"
    },
    "Microsoft.NETCore.Targets/1.1.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==",
      "path": "microsoft.netcore.targets/1.1.0",
      "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512"
    },
    "Microsoft.OpenApi/1.2.3": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==",
      "path": "microsoft.openapi/1.2.3",
      "hashPath": "microsoft.openapi.1.2.3.nupkg.sha512"
    },
    "Microsoft.Win32.Registry/5.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==",
      "path": "microsoft.win32.registry/5.0.0",
      "hashPath": "microsoft.win32.registry.5.0.0.nupkg.sha512"
    },
    "Microsoft.Win32.SystemEvents/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==",
      "path": "microsoft.win32.systemevents/6.0.0",
      "hashPath": "microsoft.win32.systemevents.6.0.0.nupkg.sha512"
    },
    "Newtonsoft.Json/13.0.1": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==",
      "path": "newtonsoft.json/13.0.1",
      "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512"
    },
    "runtime.native.System.Data.SqlClient.sni/4.7.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
      "path": "runtime.native.system.data.sqlclient.sni/4.7.0",
      "hashPath": "runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512"
    },
    "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==",
      "path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0",
      "hashPath": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
    },
    "runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==",
      "path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0",
      "hashPath": "runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
    },
    "runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==",
      "path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0",
      "hashPath": "runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
    },
    "Swashbuckle.AspNetCore/6.2.3": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-cnzQDn0Le+hInsw2SYwlOhOCPXpYi/szcvnyqZJ12v+QyrLBwAmWXBg6RIyHB18s/mLeywC+Rg2O9ndz0IUNYQ==",
      "path": "swashbuckle.aspnetcore/6.2.3",
      "hashPath": "swashbuckle.aspnetcore.6.2.3.nupkg.sha512"
    },
    "Swashbuckle.AspNetCore.Swagger/6.2.3": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-qOF7j1sL0bWm8g/qqHVPCvkO3JlVvUIB8WfC98kSh6BT5y5DAnBNctfac7XR5EZf+eD7/WasvANncTqwZYfmWQ==",
      "path": "swashbuckle.aspnetcore.swagger/6.2.3",
      "hashPath": "swashbuckle.aspnetcore.swagger.6.2.3.nupkg.sha512"
    },
    "Swashbuckle.AspNetCore.SwaggerGen/6.2.3": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-+Xq7WdMCCfcXlnbLJVFNgY8ITdP2TRYIlpbt6IKzDw5FwFxdi9lBfNDtcT+/wkKwX70iBBFmXldnnd02/VO72A==",
      "path": "swashbuckle.aspnetcore.swaggergen/6.2.3",
      "hashPath": "swashbuckle.aspnetcore.swaggergen.6.2.3.nupkg.sha512"
    },
    "Swashbuckle.AspNetCore.SwaggerUI/6.2.3": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-bCRI87uKJVb4G+KURWm8LQrL64St04dEFZcF6gIM67Zc0Sr/N47EO83ybLMYOvfNdO1DCv8xwPcrz9J/VEhQ5g==",
      "path": "swashbuckle.aspnetcore.swaggerui/6.2.3",
      "hashPath": "swashbuckle.aspnetcore.swaggerui.6.2.3.nupkg.sha512"
    },
    "System.Buffers/4.5.1": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==",
      "path": "system.buffers/4.5.1",
      "hashPath": "system.buffers.4.5.1.nupkg.sha512"
    },
    "System.Configuration.ConfigurationManager/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-7T+m0kDSlIPTHIkPMIu6m6tV6qsMqJpvQWW2jIc2qi7sn40qxFo0q+7mEQAhMPXZHMKnWrnv47ntGlM/ejvw3g==",
      "path": "system.configuration.configurationmanager/6.0.0",
      "hashPath": "system.configuration.configurationmanager.6.0.0.nupkg.sha512"
    },
    "System.Data.OleDb/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-LQ8PjTIF1LtrrlGiyiTVjAkQtTWKm9GSNnygIlWjhN9y88s7xhy6DUNDDkmQQ9f6ex7mA4k0Tl97lz/CklaiLg==",
      "path": "system.data.oledb/6.0.0",
      "hashPath": "system.data.oledb.6.0.0.nupkg.sha512"
    },
    "System.Data.SqlClient/4.8.3": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-yERfVLXAY0QbylAgaGLByYN0hFxX28aeEQ0hUgJO+Ntn1AfmWl5HHUoYJA0Yl9HhIUUJHVaS/Sw/RLZr5aaC+A==",
      "path": "system.data.sqlclient/4.8.3",
      "hashPath": "system.data.sqlclient.4.8.3.nupkg.sha512"
    },
    "System.Diagnostics.DiagnosticSource/5.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-tCQTzPsGZh/A9LhhA6zrqCRV4hOHsK90/G7q3Khxmn6tnB1PuNU0cRaKANP2AWcF9bn0zsuOoZOSrHuJk6oNBA==",
      "path": "system.diagnostics.diagnosticsource/5.0.0",
      "hashPath": "system.diagnostics.diagnosticsource.5.0.0.nupkg.sha512"
    },
    "System.Diagnostics.PerformanceCounter/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-gbeE5tNp/oB7O8kTTLh3wPPJCxpNOphXPTWVs1BsYuFOYapFijWuh0LYw1qnDo4gwDUYPXOmpTIhvtxisGsYOQ==",
      "path": "system.diagnostics.performancecounter/6.0.0",
      "hashPath": "system.diagnostics.performancecounter.6.0.0.nupkg.sha512"
    },
    "System.Drawing.Common/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==",
      "path": "system.drawing.common/6.0.0",
      "hashPath": "system.drawing.common.6.0.0.nupkg.sha512"
    },
    "System.Formats.Asn1/5.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-MTvUIktmemNB+El0Fgw9egyqT9AYSIk6DTJeoDSpc3GIHxHCMo8COqkWT1mptX5tZ1SlQ6HJZ0OsSvMth1c12w==",
      "path": "system.formats.asn1/5.0.0",
      "hashPath": "system.formats.asn1.5.0.0.nupkg.sha512"
    },
    "System.Globalization/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==",
      "path": "system.globalization/4.3.0",
      "hashPath": "system.globalization.4.3.0.nupkg.sha512"
    },
    "System.IdentityModel.Tokens.Jwt/6.8.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-5tBCjAub2Bhd5qmcd0WhR5s354e4oLYa//kOWrkX+6/7ZbDDJjMTfwLSOiZ/MMpWdE4DWPLOfTLOq/juj9CKzA==",
      "path": "system.identitymodel.tokens.jwt/6.8.0",
      "hashPath": "system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512"
    },
    "System.IO/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
      "path": "system.io/4.3.0",
      "hashPath": "system.io.4.3.0.nupkg.sha512"
    },
    "System.Memory/4.5.3": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
      "path": "system.memory/4.5.3",
      "hashPath": "system.memory.4.5.3.nupkg.sha512"
    },
    "System.Numerics.Vectors/4.5.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==",
      "path": "system.numerics.vectors/4.5.0",
      "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512"
    },
    "System.Reflection/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==",
      "path": "system.reflection/4.3.0",
      "hashPath": "system.reflection.4.3.0.nupkg.sha512"
    },
    "System.Reflection.Primitives/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==",
      "path": "system.reflection.primitives/4.3.0",
      "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512"
    },
    "System.Resources.ResourceManager/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==",
      "path": "system.resources.resourcemanager/4.3.0",
      "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512"
    },
    "System.Runtime/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
      "path": "system.runtime/4.3.0",
      "hashPath": "system.runtime.4.3.0.nupkg.sha512"
    },
    "System.Runtime.Caching/5.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-30D6MkO8WF9jVGWZIP0hmCN8l9BTY4LCsAzLIe4xFSXzs+AjDotR7DpSmj27pFskDURzUvqYYY0ikModgBTxWw==",
      "path": "system.runtime.caching/5.0.0",
      "hashPath": "system.runtime.caching.5.0.0.nupkg.sha512"
    },
    "System.Security.AccessControl/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==",
      "path": "system.security.accesscontrol/6.0.0",
      "hashPath": "system.security.accesscontrol.6.0.0.nupkg.sha512"
    },
    "System.Security.Cryptography.Cng/5.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-jIMXsKn94T9JY7PvPq/tMfqa6GAaHpElRDpmG+SuL+D3+sTw2M8VhnibKnN8Tq+4JqbPJ/f+BwtLeDMEnzAvRg==",
      "path": "system.security.cryptography.cng/5.0.0",
      "hashPath": "system.security.cryptography.cng.5.0.0.nupkg.sha512"
    },
    "System.Security.Cryptography.ProtectedData/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==",
      "path": "system.security.cryptography.protecteddata/6.0.0",
      "hashPath": "system.security.cryptography.protecteddata.6.0.0.nupkg.sha512"
    },
    "System.Security.Permissions/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==",
      "path": "system.security.permissions/6.0.0",
      "hashPath": "system.security.permissions.6.0.0.nupkg.sha512"
    },
    "System.Security.Principal.Windows/5.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==",
      "path": "system.security.principal.windows/5.0.0",
      "hashPath": "system.security.principal.windows.5.0.0.nupkg.sha512"
    },
    "System.Text.Encoding/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
      "path": "system.text.encoding/4.3.0",
      "hashPath": "system.text.encoding.4.3.0.nupkg.sha512"
    },
    "System.Text.Encoding.CodePages/5.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==",
      "path": "system.text.encoding.codepages/5.0.0",
      "hashPath": "system.text.encoding.codepages.5.0.0.nupkg.sha512"
    },
    "System.Text.Encodings.Web/4.7.2": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==",
      "path": "system.text.encodings.web/4.7.2",
      "hashPath": "system.text.encodings.web.4.7.2.nupkg.sha512"
    },
    "System.Text.Json/4.6.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-4F8Xe+JIkVoDJ8hDAZ7HqLkjctN/6WItJIzQaifBwClC7wmoLSda/Sv2i6i1kycqDb3hWF4JCVbpAweyOKHEUA==",
      "path": "system.text.json/4.6.0",
      "hashPath": "system.text.json.4.6.0.nupkg.sha512"
    },
    "System.Threading.Tasks/4.3.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
      "path": "system.threading.tasks/4.3.0"
      "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512"
    },
    "System.Threading.Tasks.Extensions/4.5.2": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-BG/TNxDFv0svAzx8OiMXDlsHfGw623BZ8tCXw4YLhDFDvDhNUEV58jKYMGRnkbJNm7c3JNNJDiN7JBMzxRBR2w==",
      "path": "system.threading.tasks.extensions/4.5.2",
      "hashPath": "system.threading.tasks.extensions.4.5.2.nupkg.sha512"
    },
    "System.Windows.Extensions/6.0.0": {
      "type": "package",
      "serviceable": true,
      "sha512": "sha512-IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==",
      "path": "system.windows.extensions/6.0.0",
      "hashPath": "system.windows.extensions.6.0.0.nupkg.sha512"
    }
  }
}


web_test.xml生成了api的使用 文档

webapi_test.runtimeconfig.json

{
  "runtimeOptions": {
    "tfm": "net6.0",
    "frameworks": [
      {
        "name": "Microsoft.NETCore.App",
        "version": "6.0.0"
      },
      {
        "name": "Microsoft.AspNetCore.App",
        "version": "6.0.0"
      }
    ],
    "configProperties": {
      "System.GC.Server": true,
      "System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
      "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
    }
  }
}


```_
访问 http://localhost/swagger/index.html 可进行测试
https://localhost/swagger/index.html
配置https,则需要配置点击绑定网站 类型为https 端口自动分配了443,
主机名不能选择ip因此只能填写localhost进行测试了。

2022-3-16 18:27:55

kestrel项目运行 方法,编译文件之后输入

dotnet webapi_test.dll

你可能感兴趣的:(asp.net core6.0跨平台 webapi探索之路笔记)