Mixing. Net Приложение Framework с. Net Базовая библиотека - PullRequest
1 голос
/ 25 февраля 2020

В решении Visual Studio мне нужен проект приложения winforms для настольного компьютера (. Net framework 4.0) в зависимости от проекта библиотеки ядра. Net. Я пока не могу перенести приложение в ядро. Net, но мне нужны функции из ядра. Net (ie Microsoft.EntityFrameworkCore). Вот почему я создал новый проект как зависимость.

Похоже, что это вызывает проблему во время сборки:

Ссылка на тип «Объект» утверждает, что он определен в «Система». Runtime ', но его не удалось найти

То же самое с DateTime , Enum , Десятичное число , ...

Как будто объект не был одинаковым в обоих проектах. Я пытался использовать Microsoft. Windows .Совместимость, но это не похоже на решение.

Есть ли способ собрать и запустить оба проекта?

РЕДАКТИРОВАТЬ 1

Я пытался использовать стандартный проект. Net вместо. Net core, но в этом случае я даже не могу добавить ссылку из приложения. Net framework. Net стандартная библиотека.

Проект "Std.csproj" нацелен на "netstandard2.0", на него не может ссылаться проект, нацеленный на ".NetFramework, Version = v4.0"

РЕДАКТИРОВАТЬ 2

Я все еще получаю ту же ошибку с моей зависимостью в. Net core 2.0 и моим приложением в. Net Framework 4.6:

Проект "Std.csproj" нацелен на "netstandard2.0", на него не может ссылаться проект, нацеленный на ".NetFramework, Version = v4.6"

РЕДАКТИРОВАТЬ 3

Я наконец избавился от ошибки с. Net Framework 4.6.1. Но, согласно требуемой конфигурации для этой платформы, это означает, что я больше не могу развертываться на Windows XP. Учиться ...

Поскольку моя цель - постепенно перейти на. Net Core, любые советы приветствуются.

Ответы [ 2 ]

2 голосов
/ 25 февраля 2020

Версия. net должна быть не менее 4,6, чтобы иметь возможность ссылаться на стандартный проект * net или пакет nuget. Дополнительная кавата только от visual studio 2017 или новее, на которую вы сможете сослаться. Visual studio 2015 не будет работать.

1 голос
/ 25 февраля 2020

Мне нужен [...]. Net framework 4.0 в зависимости от проекта библиотеки ядра. Net.

Есть ли способ собрать и запустить оба проекта?

Нет

Извините. Это не так, как это работает. Вы не можете напрямую ссылаться на сборку. NET Framework из. NET Core или наоборот. NET Сборка ядра из. NET Framework.

(у меня есть небольшое дежавю, я постараюсь найти дубликат на этом).

Что вы можете сделать, это создать общую сборку в. NET Стандарт, на который могут ссылаться оба, но в этом случае он на самом деле не поможет вам, потому что вам потребуется более высокая. NET Версия Framework, чтобы иметь возможность использовать. NET Стандарт 2.0.

Что бы работа заключается в создании соединения между вашими сборками, которое не является прямой привязкой сборки через ссылку. Один из них можно вызвать через REST через HTTP или через файлы с отображением в памяти, или любым другим способом, который вы использовали бы для связи двух несовместимых технологий.

...