Я впервые пробую что-то, что нацелено не только на .NET Framework. Кажется, я не могу сделать это из графического интерфейса. Я пробовал тип проекта «Библиотека классов (переносимая)» и тип проекта «Библиотека классов (.NET Standard)». Я могу изменить «Библиотеку классов (переносную)» на таргетинг на .NET Standard, но тогда я не могу выбрать что-либо еще. Я не уверен, стоит ли мне пытаться изменить .csproj из «Библиотеки классов (.NET Standard)» или project.json из «Библиотеки классов (переносной)», мне просто нужно то, что наиболее надежно в будущем.
Как мне создать библиотеку для .NET Framework 4.5.1 и .NET Standard 1.3 в VS 2017 RC?
comment
Откройте csproj и добавьте еще один тег целевой платформы. Зайдите в блог .NET в блогах MSDN и прочтите его последние новости.
- person Lex Li   schedule 25.01.2017
comment
Похоже, это не сработало, несмотря на то, что msdn.microsoft.com/en-us/ журнал / mt791801 говорит. Может я что-то делаю не так, но распознается только одна из целей. Но я попробовал другой синтаксис, и он, похоже, работает: ‹TargetFrameworks› net451; netstandard1.3 ‹/TargetFrameworks›. Кто-нибудь знает, что происходит?
- person user1676558   schedule 25.01.2017
comment
Потому что SDK быстро развивается. Если вы установите последнюю версию (например, RC4), вы сможете все заработать, github.com/dotnet/cli (прокрутите вниз до раздела загрузки на этой странице).
- person Lex Li   schedule 26.01.2017
Ответы (1)
Несколько дней назад .csproj был упрощен, а его использование улучшилось. В последней версии VS 2017 RC я создаю такую библиотеку, создав новую «Библиотеку классов (.NET Standard)», которая имеет этот .csproj по умолчанию:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.4</TargetFramework>
</PropertyGroup>
</Project>
И я редактирую его вручную (я не вижу способа сделать это через пользовательский интерфейс), чтобы он был таким:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard1.3;net452</TargetFrameworks>
</PropertyGroup>
</Project>
Выпадающее меню «Целевая платформа» под панелью свойств проекта становится серым. Создавая, вы можете проверить отдельные папки netstandard1.3 и net452 в bin \ Debug. Помните о следующей проблеме, если вы создаете пакет NuGet при сборке, которая может ввести вас в заблуждение, заставив думать, что вы сделали что-то неправильно: https://github.com/NuGet/Home/issues/4289.
person
user1676558
schedule
02.02.2017
Тонкая буква "s" в
TargetFramework
= ›TargetFrameworks
части ответа меня поразила. Только когда я попытался построить и получил ошибку «... для многоцелевого использования вместо свойства targetframeworks», я увидел это. :)
- person Gregg L; 15.04.2019