Я, наконец, установил Visual Studio 2017.2 и стараюсь, чтобы мой первый проект работал, но я столкнулся с некоторыми проблемами, на которые я надеюсь обратиться здесь.
У меня очень простая стандартная библиотека.NET, описанная в следующем файле проекта:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.6</TargetFramework>
</PropertyGroup>
</Project>
И очень простое консольное приложение.NET Framework, которое ссылается на вышеупомянутую библиотеку.NET Standard и описывается как следующий файл проекта:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net45</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj" />
</ItemGroup>
</Project>
Когда я создаю консольное приложение, я получаю следующую ошибку сборки:
C:\Program Files\dotnet\sdk\1.0.4\NuGet.targets(97,5): error: Project Common is not compatible with net45 (.NETFramework,Version=v4.5). Project Common supports: netstandard1.6 (.NETStandard,Version=v1.6)
Я увидел этот вопрос и попробовал некоторые из предложенных там предложений, но никто из них не работал. Таким образом, это, по-видимому, другая проблема. Обратите внимание, что это происходит во время сборки моего решения, а также без ссылок (явных) пакетов NuGet.
Наконец, если это помогает, у меня есть решение, которое демонстрирует эту проблему здесь: https://github.com/Mike-EEE/Stash/blob/master/VS2017.Multi/VS2017.dotNetFramework.sln