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