我有一个使用.Net Core 2.1创建的Web API应用程序.此Web应用程序中的控制器调用我也使用.Net Core 2.1开发的业务层类库.到现在为止还挺好...
在对.NET核心业务类库引用了一个常用的.Net框架4.6.1类库,我们还开发了.此库主要用于与Azure服务总线队列通信.
因此,这个常用的.Net Framework类库反过来引用并使用Microsoft .Net Framework Assembly,Microsoft.ServiceBus,如下面的代码行所示.
MessagingFactory messagingFactory = MessagingFactory.CreateFromConnectionString(configValue);
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我们常用的.Net Framework类库中的代码行将字符串值(即configValue)传递给Microsoft.ServiceBus程序集中存在的静态方法.
但是,每当执行上面的代码行时,我都会收到以下错误:
处理请求时发生未处理的异常.
TypeLoadException:无法从程序集'System.Web,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'加载类型'System.Web.Configuration.WebConfigurationManager'.
出于兴趣,我添加了以下代码行,我得到了同样的错误:
string configValue = WebConfigurationManager.AppSettings["connectionString"];
Run Code Online (Sandbox Code Playgroud)
显然,问题是未加载System.Web .Net Framework程序集.
但是,鉴于Web应用程序是.Net Core,那么如何使此Web应用程序加载常用库所需的基础.Net Framework程序集?
configSections section引用程序集System.Web 的.Net Core Web API应用程序中加载Web.config …