Как я могу изменить стандартную библиотеку .NET на библиотеку фреймворка .NET? - PullRequest
0 голосов
/ 05 июля 2018

Я пишу библиотеку классов для простого парсера в C #. Когда я впервые создал его, я использовал стандарт .NET 2.0, но теперь мне нужно перенести его на .NET 4.6 как для соответствия другим проектам в моем решении, так и для использования NUnit.

Я пытался следовать инструкциям в документации Microsoft , но когда я пытаюсь выбрать другой фреймворк в свойствах, я могу найти только другие стандартные версии .NET.

Как я могу перенести это? Нужно ли мне вручную редактировать файл .csproj?

Ответы [ 4 ]

0 голосов
/ 18 октября 2018

Есть несколько шагов, которые я сделал и работал для меня:

  1. git push ваш код, поэтому у вас есть резервная копия:)
  2. Выгрузить проект в VS (щелкнуть правой кнопкой мыши по проекту и выгрузить)
  3. Редактирование проекта в VS (щелкните правой кнопкой мыши и отредактируйте)
  4. Заменить версию TargetFramework ИЛИ И И ИЛИ TargetFramework на <TargetFramework>netcoreapp2.0</TargetFramework>

  5. Измените строку проекта, обычно это первая строка (после корня xml): <Project Sdk="Microsoft.NET.Sdk">

  6. Удалить импорт, который обычно является второй строкой (после корня xml)

  7. Оставьте свои PropertyGroups, которые описывают параметры сборки, если хотите (я хочу, чтобы мои были обычными)
  8. Удалить ссылки и ссылки на файлы, они не нужны.
  9. Закройте файл и перезагрузите компьютер (щелкните правой кнопкой мыши по перезагрузке).
  10. Удалите файл assemblyinfo (из папки свойств), так как он не нужен, теперь версия сборки приходит из proj
  11. Щелкните правой кнопкой мыши по проекту и перейдите в свойства, чтобы увидеть, что у вас нет ошибок в файле proj. Убедитесь, что у вас нет опечаток или тегов, которые не являются близкими.
  12. Сложение. Если у вас есть зависимости, которые вы пропустили, щелкните правой кнопкой мыши на проекте и добавьте их. - Я полагаю, что вы не хотите редактировать их в проекте. Или вы можете сделать восстановление dotnet или dotnetbulid, чтобы добавить их, как вы хотите.

Надеюсь, это работает для вас. Они кажутся большими шагами, но они не такие сложные, и это одноразовое усилие.

0 голосов
/ 05 июля 2018

Если вы публикуете свою библиотеку классов в виде пакета Nuget, есть лучший способ настроить это. Проверьте эту статью:

https://weblog.west -wind.com / сообщений / 2017 / июнь / 22 / MultiTargeting-и-Портирование-а-NET-Library-к-NET-Core-20

По сути, вы можете настроить свою библиотеку классов для многоцелевого использования, что позволит импортировать ее в основные проекты .net, а также в различные версии .net frameworks.

0 голосов
/ 13 августа 2018

Мой личный опыт в Visual Studio 2017 состоит в том, что воссоздание проекта и добавление существующих источников - это самый простой, безопасный и эффективный способ - потому что файл .sp Framework на основе csproj имеет дополнительные элементы xml (по сравнению со стандартом на основе ), кажется, изменение "TargetFramework" недостаточно. Ниже приведена часть различий, показанных по умолчанию:


enter image description here

0 голосов
/ 05 июля 2018

Откройте файл проекта (.csproj) и измените TargetFramework на net462

  <PropertyGroup>
    <TargetFramework>net462</TargetFramework>
  </PropertyGroup>
...