Core и IIS
Вот у меня установлен на домашней машине этот самый Core:
На рабочей они с того же установщика вдвоём ставятся (для 86 и 64).
Вот так у меня дома две версии подключено к IIS-у:
Старая (cb3) обращается ко второму FrameWork-у (v2.0). Новая (peredv) к 4-му (v4.0). При таком подключении сразу всё заработало.
Вот они оба запущены:
Список передвижек с разбивкой на страницы ради которого всё и затевалось:
В старой версии сплошной список строк, ограниченный верхними фильтрами (что неаккуратно).
На рабочей машине после установки Core выключился основной пул (DefaultAppPool):
Зато заработал пул Classic .NET AppPool, с которым не заработала ни старая ни новая версия (ни с v2.0, ни с v4.0).
Особо исследовать установки я не стала потому что рабочая машина – не место для экспериментов (такой подлянки как отключение сразу всего я не ожидала). Снесла Core, старый вариант опять заработал.
Когда программа устанавливается, она копирует свои файлы на диск и меняет какие-то настройки на машине. При удаление она должна вернуть всё как было, т.е удалить скопированные файлы, записать в реестр то, что было в нем раньше:
Реестр это хранилище основных установок машины. Настройки могут быть и у отдельных программ. В данном случае Core при установке явно что-то поменял в настройках IIS. Эти изменения он тоже должен удалить (вернув предыдущий вариант) при удалении с машины.
Теоретически программы должны удаляться, ничего не ломая. Практически это очень сложная конструкция. Шутке про то, что воздушные шары заставки CorelDRAW наполнены водородом, потому что при удалении его с машины всю операционную систему разносит, лет 20. И разносило её, скорее всёго, не всегда а при каких-то условиях. Но так бывает. Обычно когда идёт какой-то конфликт. Например, вначале одна программа что-то записала в реестр, а потом другая. При удалении первая вернула первоначальное значение. Вторая после этого перестала работать, потому что ей нужны другие настройки.
Вот про установку:
https://docs.microsoft.com/ru-ru/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2
Возможно в этом дело:
ASP.NET Core 2.2 или более поздней версии: для 64-разрядного (x64) автономного развертывания, в котором используется модель размещения в процессе, отключите пул приложений для 32-разрядных (x86) процессов.
На боковой панели Действия в разделе Пулы приложений диспетчера IIS выберите Задать значения по умолчанию для пула приложений или Дополнительные параметры. Найдите пункт Включить 32-разрядные приложения и задайте значение False. Этот параметр не влияет на приложения, развернутые для размещения вне процесса.
… а может ещё в чём-то. Т.е требуются какие-то дополнительные «плясы с бубном». Это мне надо добраться да домашней 64-й машины и там экспериментировать.
|