Миграция существующего проекта из сетевой среды 4.5.2 в ядро ​​dotnet или netstandard - PullRequest
0 голосов
/ 12 марта 2019

Я портирую свой проект из .net framework 4.5.2 в стандарт .net.Я прочитал эту статью для руководства .Как я вижу в этой статье, .net framework 4.5.2 должен реализовывать .net стандарт 1.2 или 1.3 (так как в таблице есть .net framework 4.5.1 и 4.6, но не 4.5.2, поэтому я не уверен).

Итак, он должен подходить для нацеливания моего проекта на .net стандарт 1.3.Я думаю, я могу переориентироваться без каких-либо ошибок, если мой проект просто использует библиотеки .net Framework.Тем не менее, когда я запускаю .NET анализатор переносимости. .Это показывает, что System.Xml.XPath.XPathNodeIterator просто поддерживается в .net framework 4.5.2, а не в .net стандарт 1.3.Я должен нацелиться на стандарт .net 2.0, чтобы он работал.

Это действительно меня смущает.Я что-то здесь неправильно понимаю?

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Для почти безболезненной миграции с net framework на netcore или netstandard target netstandard2.x или одного из netcore___2.x target.

Попытка перенести большой существующий проект сетевой структуры на netstandard 1.x или netcore 1.x - это болезненный опыт.И поскольку netcore2 существует, теперь это и болезненно, и бесполезно.В Netcore 1.x отсутствовало множество API-интерфейсов NetFramework, которые вы ожидали работать в проекте сетевой платформы.Таким образом, ваш перенесенный проект не будет собран, и у вас будет много работы для его исправления.

Но если вы перенесете существующий код в новый проект Netstandard / netcore 2, то большая часть API-интерфейса Framework 4.xи многое другое «просто работает» с минимальными изменениями.Очевидно, вам нужно заново добавить NuGet и другие зависимости.

Для вещей, которые не «просто работают», я вел блог о мульти-таргетинге netframework / netcore , который включает в себяраздел о некоторых ошибках для перемещения между двумя целями.

0 голосов
/ 14 марта 2019

На странице в вашей ссылке есть другая таблица, описывающая поддержку .NET Standard: https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support

  • .NET Standard 1.2 поддерживается в .NET Framework 4.5.1
  • .NET Standard 1.3 поддерживается в .NET Framework 4.6

Тип XPathNodeIterator не является частью .NET Standard до .NET Standard 2.0. Вы можете использовать https://apisof.net/catalog/System.Xml.XPath.XPathNodeIterator, чтобы увидеть это.

Этот тип доступен в виде пакета NuGet, от которого вы можете зависеть, если ваша библиотека нацелена на .NET Standard 1.6. Это имя пакета System.Xml.XPath.

При этом, если вы хотите поддерживать .NET Standard, а также .NET Framework, вы можете использовать несколько целей. Будет построено 2 библиотеки, одна для .NET Standard и одна для .NET Framework. Пока API доступны в обеих версиях, это должно работать.

...