Я работаю над стандартной библиотекой классов. NET в Visual Studio 2019, которая предназначена для обоих типов NET Standard 2.1 и. NET Framework 4.7.2. Я хочу, чтобы он был совместим с WinForms. NET Framework и WPF. NET Core 3.1. Одной из его зависимостей является Entity Framework 6.4, которая работает только с. NET Standard 2.1 или. NET Framework 4.7.2, поэтому я не могу понизиться до. NET Standard 2.0, чтобы быть совместимым с. NET Framework. Таким образом, моя библиотека классов нацелена на оба.
Вот файл .csproj стандартной библиотеки. NET:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.1;net472</TargetFrameworks>
</PropertyGroup>
</Project>
В стандартной библиотеке. NET я создал класс с именем «NetStandardClass». Вот код:
public class NetStandardClass
{
private string _member;
public NetStandardClass(string member)
{
_member = member;
}
}
Я создал приложение WinForms, предназначенное для NET Framework 4.7.2. и ссылается на. NET Стандартную библиотеку. Я создал 2 формы: BaseForm, которая создает экземпляр NetStandardClass и Form1, производную от BaseForm.
Вот код BaseForm:
public partial class BaseForm : Form
{
public BaseForm()
{
InitializeComponent();
var netStandardObject = new NetStandardClass("Test");
}
}
Вот код формы Form1:
public partial class Form1 : BaseForm
{
public Form1()
{
InitializeComponent();
}
}
Все компилируется и работает без ошибок. Форма 1 показывает без ошибок. Я могу загрузить BaseForm в конструктор без проблем.
Однако, когда я пытаюсь загрузить Form1 в конструктор, я получаю следующую ошибку:
Невозможно загрузить файл или сборку 'netstandard, Версия = 2.1.0.0, Культура = нейтральная, PublicKeyToken = cc7b13ffcd2ddd51 'или одна из ее зависимостей. Система не может найти указанный файл.
Что я делаю не так?