Ссылки на DLL .net framework из веб-api .net 5 Не удалось загрузить тип System.Web.HttpContext

#c# #asp.net-core-webapi #.net-5

Вопрос:

У нас довольно много библиотек DLL .net framework (без контроля), которые никогда не будут обновлены/перенесены на .net core/5/6

  1. Может ли веб-api .net5/6 ссылаться на библиотеку DLL в .net framework, содержащую System.Web /веб-службы?
  2. Короче говоря, если я оберну все вызовы в DLL .NET Framework, которая вызывается веб — api .net 5, будет ли это работать?

Я кое-что попробовал и получил ошибку

Не удалось загрузить тип System.Web.HttpContext

Где я могу найти официальный документ, который я могу предоставить своему боссу, в котором говорится, что это невозможно?

Большое спасибо

Ответ №1:

System.Web.HttpContext применимо только к .NET Framework,

https://docs.microsoft.com/en-us/dotnet/api/system.web.httpcontext?view=netframework-4.8#applies-to

Итак, что еще вам нужно сказать своему боссу?

Комментарии:

1. Я хочу установить, что даже если он заключен в отдельную dll, потому что вызывается веб-api .net 5, он не будет работать. Правильно? Я просто становлюсь параноиком из-за того, что кто-то может сказать что-то вроде «ну, это неправда».. Я искал скорее утверждение/абзац, который может понять «бизнес»

2. @developer9969, вероятно, скажет им, что ASP.NET и ASP.NET Ядра разные и несовместимые, docs.microsoft.com/en-us/aspnet/core/fundamentals/… и они должны выбрать только одно из двух.

3. Независимо от того, как вы его завернете, если только вы не перенесете его для использования . ЧИСТОЕ ядро, то это несовместимо — если у кого-то непереносимость лактозы, у него непереносимость молока, будь то в виде стакана молока или в виде молочных продуктов.

Ответ №2:

Вы можете сказать своему боссу, что если вы преобразуете библиотеки DLL в .net standard 2.0, то вы можете использовать dll в обоих .проекты net и .net5.

Вот официальная документация https://docs.microsoft.com/en-us/dotnet/standard/net-standard

Комментарии:

1. Ни одна версия .NET Framework не поддерживает .NET Standard 2.1, поэтому вы, вероятно, имели в виду 2.0.

2. Моя ошибка, извините, это была ошибка с опечаткой @LexLi

3. @viveknuna Я думал об использовании стандарта .net, но System.Web.Services не поддерживается стандартом .net, поэтому я застрял. Правильно?

4. Что вы хотите реализовать с помощью System.Web.Services? @разработчик 9969

5. этот web.api вызовет некоторые существующие веб-сервисы asmx, которые никогда не будут перенесены (без контроля), поэтому я подумал .netWebApi 5/6 — — ->. netframework(dll) — — — >> вызов веб-служб asmx.. Я думаю, это невозможно.