Mar*_*tyG 5 c# asp.net azure-servicebus-queues .net-core asp.net-core
我有一个使用.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 .我尝试了这个,但它没有用,我确定如果我没有应用所有必要的步骤.这是可能的,如果有的话有什么建议吗?谢谢!
我遇到了同样的问题,经过调查,我发现我的 azure 函数应用程序运行时版本是 2.0 ~ ,根据文档版本 2 是 .NET Core 2 ,函数应用程序版本 1.0 ~ 是 .NET Framework 4.7 。我的 Visual Studio 功能应用程序项目有 .NET Framework 4.6.1 。因此,我只需将函数应用程序版本更改为 ~ 1.0 。
| 归档时间: |
|
| 查看次数: |
1309 次 |
| 最近记录: |