ASP.NET 核心 3.1 项目在同一解决方案错误中引用 .NET 4.7.2 项目 'System.Web.Configuration.WebConfigurationManager'
ASP.NET Core 3.1 project that is referencing a .NET 4.7.2 project in the same solution error 'System.Web.Configuration.WebConfigurationManager'
我有一个 ASP.NET 核心 3.1 项目,它在同一解决方案中引用了 .NET 4.7.2 项目。它编译没有问题,但在运行时出现错误:
Could not load type 'System.Web.Configuration.WebConfigurationManager'.
我已经在 ASP.NET 核心项目中安装了 Microsoft.Windows.Compatibility
包,但这没有帮助。
我是否遗漏了什么,或者如果不对 .NET 4.7.2 项目进行一些重大重构以不使用该 System.Web.Configuration.WebConfigurationManager
命名空间,这将无法工作吗?
I have an ASP.NET Core 3.1 project that is referencing a .NET 4.7.2 project in the same solution. It compiles without problems but at runtime I get an error:
Could not load type 'System.Web.Configuration.WebConfigurationManager'
ASP.NET Core是跨平台框架,ASP.NET Core使用不同的配置设置,更多信息请查看:
我想您的 .NET 4.7 项目可能是一个 class 库,并且会被其他应用程序调用。
如上错误所示 System.Web.Configuration.WebConfigurationManager
无法与 .NET Core 应用程序兼容。
如果可能,您可以尝试修改您的 class 库(.NET 4.7 项目)以传递从调用方检索到的数据(您在 web.config 或 appsettings.json 中配置)应用到 class 库方法,而不是通过 class 库中的 WebConfigurationManager
检索数据。
此外,您还可以修改和添加其他方法,使其与 ASP.NET 核心配置设置一起使用,如下所示。
public class MyClassLibrary
{
private readonly IConfiguration Configuration;
public MyClassLibrary()
{
}
public MyClassLibrary(IConfiguration configuration)
{
Configuration = configuration;
}
public void MethodForNet()
{
var val = WebConfigurationManager.AppSettings["mykey"];
//code logic here
}
public void MethodForCore()
{
var val = Configuration["AppSettings:mykey"];
//code logic here
}
//other methods
}
我有一个 ASP.NET 核心 3.1 项目,它在同一解决方案中引用了 .NET 4.7.2 项目。它编译没有问题,但在运行时出现错误:
Could not load type 'System.Web.Configuration.WebConfigurationManager'.
我已经在 ASP.NET 核心项目中安装了 Microsoft.Windows.Compatibility
包,但这没有帮助。
我是否遗漏了什么,或者如果不对 .NET 4.7.2 项目进行一些重大重构以不使用该 System.Web.Configuration.WebConfigurationManager
命名空间,这将无法工作吗?
I have an ASP.NET Core 3.1 project that is referencing a .NET 4.7.2 project in the same solution. It compiles without problems but at runtime I get an error:
Could not load type 'System.Web.Configuration.WebConfigurationManager'
ASP.NET Core是跨平台框架,ASP.NET Core使用不同的配置设置,更多信息请查看:
我想您的 .NET 4.7 项目可能是一个 class 库,并且会被其他应用程序调用。
如上错误所示 System.Web.Configuration.WebConfigurationManager
无法与 .NET Core 应用程序兼容。
如果可能,您可以尝试修改您的 class 库(.NET 4.7 项目)以传递从调用方检索到的数据(您在 web.config 或 appsettings.json 中配置)应用到 class 库方法,而不是通过 class 库中的 WebConfigurationManager
检索数据。
此外,您还可以修改和添加其他方法,使其与 ASP.NET 核心配置设置一起使用,如下所示。
public class MyClassLibrary
{
private readonly IConfiguration Configuration;
public MyClassLibrary()
{
}
public MyClassLibrary(IConfiguration configuration)
{
Configuration = configuration;
}
public void MethodForNet()
{
var val = WebConfigurationManager.AppSettings["mykey"];
//code logic here
}
public void MethodForCore()
{
var val = Configuration["AppSettings:mykey"];
//code logic here
}
//other methods
}