我有一个 Web API 应用程序,是使用.Net Core 2.1 创建的。此Web应用程序中的控制器调用了我也使用.Net Core 2.1开发的业务层类库。到目前为止一切顺利...
.Net核心业务类库引用了我们还开发的常用 .Net Framework 4.6.1类库 。该库主要用于与Azure服务总线队列进行通信。
因此,此常用的.Net Framework类库依次引用并使用了Microsoft .Net Framework程序集 Microsoft.ServiceBus ,如下面的代码行所示。
MessagingFactory messagingFactory = MessagingFactory.CreateFromConnectionString(configValue);
如您所见,上面的代码行位于我们常用的.Net Framework类库中,它将字符串值(即configValue
)传递给 Microsoft.ServiceBus < / strong>程序集。
但是,只要上面的代码行执行,我都会收到以下错误消息:
处理请求时发生未处理的异常。
TypeLoadException:无法加载类型 程序集中的“ System.Web.Configuration.WebConfigurationManager” 'System.Web,版本= 4.0.0.0,文化=中性, PublicKeyToken = b03f5f7f11d50a3a'。
出于兴趣,我在以下代码行中添加了相同的错误:
string configValue = WebConfigurationManager.AppSettings["connectionString"];
很明显,问题在于System.Web .Net Framework程序集未加载。
但是,鉴于Web应用程序是.Net Core,那么我如何才能使该Web应用程序加载常用库所需的基础.Net Framework程序集?
configSections
section
。我尝试了一下,但是没有用,我确定我是否没有应用所有必要的步骤。这可能吗?如果有的话,有什么建议吗?谢谢!
答案 0 :(得分:0)
我遇到了同样的问题,经过调查,我发现我的azure函数应用程序运行时版本为2.0〜,根据documentation版本2为.NET Core 2,函数应用程序版本1.0〜为.NET Framework 4.7 。和我的Visual Studio功能应用程序项目都具有.NET Framework 4.6.1。因此,我只需要将我的功能应用程序版本更改为〜1.0即可。