ASP. NET сайт со сборками в смешанном режиме (NET 2.0, NET 4.0, NET Core) в проектах веб-приложений (WAP) - PullRequest
0 голосов
/ 15 марта 2020

Многие годы основным потоком ASP. NET были проекты веб-сайтов (WSP), так называемая архитектура ProjectLess. Но идея новой революции от Microsoft - проекты веб-приложений (WAP), то есть каждый сайт ASP. NET должен иметь файл проекта, а сайт ASP. NET должен быть скомпилирован в одну монолитную сборку c. Может быть, для новых разработок это не плохая идея, но как можно реализовать эту идею в реальном мире? Например, мой сайт в архитектуре ProjectLess скомпилирован с некоторыми сборками, на которые ссылается другая структура. Это дамп из IlSpy моего сайта, созданного с архитектурой ProjectLess.

'E: \ Projects \ Arenda_5 \ www\bin \ App_Code.dll' App_Code, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null 'Глобальный тип:' Архитектура: AnyCPU (предпочтительно 64-разрядная версия) 'Время выполнения:. NET 4.0

' E: \ Projects \ Arenda_5 \ www\bin \ AjaxControlToolkit.dll 'AjaxControlToolkit, Version = 3.5.7.123, Культура = нейтральная, PublicKeyToken = 28f01b0e84b6d53e 'Глобальный тип:' Архитектура: AnyCPU (предпочтительно 64-разрядная версия) 'Время выполнения:. NET 2.0

' E: \ Projects \ Arenda_5 \ www\bin \ App_global.asax.dll 'App_global.asax, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null' глобальный тип: 'архитектура: AnyCPU (предпочтительно 64-разрядная версия)' время выполнения:. NET 4.0

'E: \ Projects \ Arenda_5 \ www\bin \ App_GlobalResources.dll' App_GlobalResources, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null 'глобальный тип:' архитектура: AnyCPU (предпочтительно 64-разрядная версия) 'среда выполнения :. NET 4.0

'E: \ Projects \ Arenda_5 \ www\bin \ App _Web_4xh2h4z1.dll 'App_Web_4xh2h4z1, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null' глобальный тип: 'архитектура: AnyCPU (предпочтительно 64-разрядная версия)' время выполнения:. NET 4.0

'E: \ Projects \ Arenda_5 \ www\bin \ App_Web_cc1zern3.dll 'App_Web_cc1zern3, версия = 0.0.0.0, культура = нейтральный, PublicKeyToken = null' глобальный тип: 'архитектура: AnyCPU (предпочтительно 64-разрядная версия)' время выполнения:. NET 4.0

.....

'E: \ Projects \ Arenda_5 \ www\bin \ App_Web_yxcevpfj.dll' App_Web_yxcevpfj, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null 'глобальная тип: 'Архитектура: AnyCPU (предпочтительно 64-разрядная версия)' Время выполнения:. NET 4.0

'E: \ Projects \ Arenda_5 \ www\bin \ App_WebReferences.dll' App_WebReferences, версия = 0.0.0.0, Культура = нейтральная, PublicKeyToken = null 'Глобальный тип:' Архитектура: AnyCPU (предпочтительно 64-разрядная версия) 'Время выполнения:. NET 4.0

' E: \ Projects \ Arenda_5 \ www\bin \ AspCommon2009.dll 'AspCommon2009, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = null' глобальный тип: 'архитектор ure: AnyCPU (предпочтительно 64-разрядная версия) 'Runtime:. NET 2.0

В результате мой сайт ссылается на сборки из другой среды:

' E: \ Projects \ Arenda_5 \ www\bin \ Newtonsoft. Json .dll 'Newtonsoft. Json, версия = 8.0.0.0, культура = нейтральная, PublicKeyToken = 30ad4fe6b2a6aeed' глобальный тип: 'архитектура: AnyCPU (предпочтительно 64-разрядная версия) 'Runtime:. NET 2.0

' C: \ WINDOWS \ assembly \ GAC_MSIL \ System.Core \ 3.5.0.0__b77a5c561934e089 \ System.Core.dll 'System.Core, версия = 3.5.0.0 , Культура = нейтральный, PublicKeyToken = b77a5c561934e089 'Глобальный тип:' Архитектура: AnyCPU (предпочтительно 64-разрядная версия) 'Время выполнения:. NET 2.0

' C: \ WINDOWS \ Assembly \ GAC_32 \ mscorlib \ 2.0.0.0__b77a5c561934e089 \ mscorlib.dll 'mscorlib, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089' глобальный тип: 'архитектура: x86' время выполнения:. NET 2.0

'C : \ WINDOWS \ Microsoft.Net \ assembly \ GAC_32 \ mscorlib \ v4.0_4.0.0.0__b77a5c561934e089 \ mscorlib.dll 'mscorlib, Версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089 'Глобальный тип:' Архитектура: x86 'Время выполнения:. NET 4.0

' C: \ WINDOWS \ Assembly \ GAC_32 \ System.Web \ 2.0.0.0__b03f5f7f11d50a3a \ System.Web.dll 'System.Web, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a 'Глобальный тип:' Архитектура: x86 'Время выполнения:. NET 2.0

' C: \ WINDOWS \ assembly \ GAC_MSIL \ System \ 2.0.0.0__b77a5c561934e089 \ System.dll 'System, Версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089 'Глобальный тип:' Архитектура: AnyCPU (предпочтительно 64-разрядная версия) 'Время выполнения:. NET 2.0

' C: \ WINDOWS \ Assembly \ GAC_32 \ System.Data \ 2.0.0.0__b77a5c561934e089 \ System.Data.dll 'System.Data, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089' глобальный тип: 'архитектура: AnyCPU (предпочтительно 64-разрядная версия)' Эта сборка содержит неуправляемый код. 'Время выполнения:. NET 2.0

' C: \ WINDOWS \ assembly \ GAC_MSIL \ Microsoft.VisualBasic \ 8.0.0.0__b03f5f7f11d50a3a \ Microsoft.VisualBasi c .dll 'Microsoft.VisualBasi c , Версия = 8.0.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a 'Глобальный тип:' Архитектура: AnyCPU (предпочтительно 64-разрядная версия) 'Время выполнения:. NET 2.0

' C: \ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ Microsoft.VisualBasic \ v4.0_10.0.0.0__b03f5f7f11d50a3a \ Microsoft.VisualBasi c .dll 'Microsoft.VisualBasi c, версия = 10.0.0.0, культура = нейтральная, PublicKeyToken = b03d50a7 = b03d50a7 Глобальный тип: «Архитектура: AnyCPU (предпочтительно 64-разрядная версия)» Время выполнения:. NET 4.0

'C: \ WINDOWS \ assembly \ GAC_MSIL \ System.Configuration \ 2.0.0.0__b03f5f7f11d50a3a \ System. Configuration.dll 'System.Configuration, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a' глобальный тип: 'архитектура: AnyCPU (предпочтительно 64-разрядная версия)' время выполнения:. NET 2.0

' C: \ WINDOWS \ сборка \ GAC_MSIL \ System.Web.E xtensions \ 3.5.0.0__31bf3856ad364e35 \ System.Web.Extensions.dll 'System.Web.Extensions, версия = 3.5.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35' глобальный тип: 'архитектура: AnyCPU (предпочтительно 64-разрядная версия)' среда выполнения :. NET 2.0

'C: \ WINDOWS \ assembly \ GAC_MSIL \ System. Xml .Linq \ 3.5.0.0__b77a5c561934e089 \ System. Xml .Linq.dll' System. Xml .Linq, версия = 3.5.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089 'Глобальный тип:' Архитектура: AnyCPU (предпочтительно 64-разрядная версия) 'Время выполнения:. NET 2.0

и многие другие сборки из другой среды.

В результате любая моя попытка перестроить этот сайт с файлом проекта (с проектами веб-приложений - WAP) и одной монолитной c сборкой потерпела неудачу с этим сообщением

Указано неверное имя сборки или кодовая база. (Исключение из HRESULT: 0x80131047) - Visual Studio 2017

Любой, кто понимает, как можно исправить эту проблему, как можно создать одну ASP. NET сборку в типе проекта WAP, где результат сборка ссылалась на множество различных NET фреймворков?

...