asp.net-core – 如何在.Net Core应用程序中读取web.config文件

我创建了一个.Net Core API,我引用了一个.Net框架应用程序.引用的应用程序连接到数据库,其连接字符串存储在web.config文件中:
string CONNSTR =ConfigurationManager.ConnectionStrings["SHOPPINGCNN"].ConnectionString;

.Net Core应用程序使用appsettings.json而不是web.config文件.当我运行API并尝试使用引用的应用程序资源时,上面的代码将被触发并返回null,因为.net Core应用程序中不存在web.config文件.解决此问题的最佳解决方案是什么

解决方法

对于.NET Core应用程序,最好的方法是使用 Configuration API.这是一种非常灵活的方式,并且由于提供程序模式,它允许使用不同的源,而不仅是最常见的appsettings.json文件(顺便说一下)只是一个JSON文件,可以随机命名):
  • File formats (INI,JSON,and XML)
  • Command-line arguments
  • Environment variables
  • In-memory .NET objects
  • An encrypted user store Azure Key Vault
  • Custom providers,which you install or create

现在关于ConfigurationManager.起初,.NET Core被迫忘记了这个类 – 它没有被实现和支持,并且想法是通过提供新的Configuration API来完全取代它.

而且,实际情况是ASP.NET Core应用程序不再通过IIS托管(IIS现在主要用作反向代理),因此web.config不再那么有用(除非您仍需要定义的极少数情况) IIS配置特有的参数).

但是,在提供.NET Standard 2.0之后,这个System.Configuration.ConfigurationManager nuget包可用并带回ConfigurationManager类.由于在新的.NET Core 2.0中实现了新的compatibility shim,因此成为可能.

关于你的情况,很难说为什么你有“空”,因为它没有足够的信息:

>它可能是web.config中的错误部分> web.config可能无法复制到输出/发布文件夹中

相关文章

本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从...
基于 .NET 的一个全新的、好用的 PHP SDK + Runtime: Pe...
.NET 异步工作原理介绍。
引子 .NET 6 开始初步引入 PGO。PGO 即 Profile Guided Opti...
前言 2021/4/8 .NET 6 Preview 3 发布,这个版本的改进大多来...
前言 开头防杠:.NET 的基础库、语言、运行时团队从来都是相...