Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Миграция .Net Framework => .Net Core

07.08.23 14:26
Миграция .Net Framework => .Net Core
 

Есть у нас приложение, разработку которого мы начали году в 2017

Состоит из 2 частей: Веб-приложение на и Бэкэнд (Windows Service, На схеме это ServiceHost)

между собой Веб-приложение и ServiceHost общаются по WCF плюс он еще принимает и отправляет данные по WCF третьим лицам


Основные требования заказчика выполнены и собрались мы его мигрировать на .Net #7.
Первые препятствия были поднять Windows сервис на .Net Core и WCF сервис - тут вроде разобрались

Потом споткнулись об отсутствие Workflow Foundation под Core, нашли вроде порт от энтузиастов, но там во-первых не полная поддержка (нет графического редактора Workflows), во-вторых у нас там кастомизировано слегка, так что пришлось эту идею отбросить и мигрировать только веб-проложение.


Но тут челлендж в том, что все остальное должно остаться .Net Framework(то есть веб на .Net #7 долен референцировать Persistence на .Net Framework 4.X, что само по себе вроде работает).
И сейчас боремся с тем, чтобы веб-приложние дружило с Persistence и его зависимостями(Entity Framework + Oracle.ManagedDataAccess)
Проблема в том, что в старом приложении был web.config, в котором мы говорили EF, что он должен работать с драйвером Оракла.

<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

<entityFramework>
<providers>
<provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</providers>
</entityFramework>

<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>


В Net.Core ни веб ни эпп.конфига нет.
В общем или мы тупые или этот проект превращается в легаси.


 

Перейти на