将web.config文件添加到Asp.Net Core项目

时间:2020-09-03 19:26:42

标签: c# asp.net-core .net-core

我正在构建一个Asp.Net Core 3.1项目,该项目将引用一些较旧的.Net Framework API。构建API是为了从调用应用程序托管的web.config文件中获取配置值。到目前为止,所有调用的应用程序都是.Net Framework应用程序,并且包含web.config文件。新项目是.Net Core。如何将web.config文件添加到.Net Core项目中,以便API可以访问它?我尝试仅使用正确的应用程序设置值将web.config添加到解决方案中。没用。

3 个答案:

答案 0 :(得分:0)

ASP.NET Core将web.config文件替换为appsettings.json。如果需要读取配置的API也是同一个项目,那么它就像在API控制器构造函数中添加IConfiguration作为依赖项并直接从中提取值一样简单。

例如 SomeApiController.cs

public class SomeApiController : Controller
{
    private readonly IConfiguration _config;

    public SomeApiController (IConfiguration configuration)
    {
        _config = configuration;
    }


    public IActionResult SomeEndpoint()
    {
       var connectionString = _config.GetConnectionString("DefaultConnection");

       return connectionString;
    }
}

或者,如果您确实确实需要一个web.config文件,那么我建议使用XML阅读器直接读取该文件。那里有一个已经存在数年之久的教程,但是目前我还找不到。

答案 1 :(得分:0)

由于您的项目(即您控制的代码)不会使用web.config文件,因此您所要做的就是添加它并确保将其复制到输出目录中。这是一篇详细介绍几个步骤的文章: https://mitchelsellers.com/blog/article/using-a-web-config-file-with-asp-net-core

如果您还可以修改这些旧的API,则应尝试取消对web.config文件的依赖,这样就不必为这些文件单独配置。

答案 2 :(得分:0)

我要做的就是添加带有一些键的app.config文件并将System.Configuration.ConfigurationManager安装为NuGet软件包。链接在这里: https://www.itnota.com/use-system-configuration-configurationmanager-dot-net-core/