В моем решении есть следующий набор проектов:1) .NET Framework (4.7.1) проект, который производит сборку."Проект А"2) Проект ASP.NET core MVC на основе веб-API, основанный на .NET Core 2.1.«Проект B»
Проект B ссылается на проект A, построение решения с помощью Visual Studio 2017 не приводит к каким-либо проблемам.Тем не менее, если я пытаюсь построить решение с помощью msbuild с помощью следующей команды, я не могу скомпилировать проект B:
"C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0\ Bin \ msbuild.exe "D: \ Stuff \ MySolution.sln" / p: платформа = x64 / p: конфигурация = отладка / v: m / clp: сводка
Ошибки в D: \ Stuff \ ProjectB\ ProjectB.csprojНе удалось разрешить 'D: \ Stuff \ ProjectA \ ProjectA.csproj для' .NETCoreApp, Version = v2.1 'Невозможно определить 'D: \ Stuff \ ProjectA \ ProjectA.csproj для' .NETCoreApp, версия = v2.1 (win-x64) '
Группа свойств ProjectB выглядит следующим образом:
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<RuntimeFrameworkVersion>2.1.0</RuntimeFrameworkVersion>
<PlatformTarget>AnyCPU</PlatformTarget>
<ProjectGuid>{D41E3CAE-2EE3-4BED-8965-50AF8C243A20}</ProjectGuid>
<RootNamespace>com.ProjectB</RootNamespace>
<AssemblyName>com.ProjectB</AssemblyName>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
А также имеет следующую PackageReference:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0"/>
</ItemGroup>
Как будто MSBuild пытается применитьцелевая структура, определенная в ProjectB для ProjectA, однако, как уже упоминалось ранее, в Visual Studio этого не происходит.