引用.NET项目的ASP.NET Core项目无法使用msbuild

时间:2019-05-10 14:01:27

标签: asp.net-core .net-core msbuild visual-studio-2017

我的解决方案中包含以下项目集:
1)生成程序集的.NET Framework(4.7.1)项目。 “ Project A”
2)一个基于.NET Core 2.1的基于ASP.NET Core MVC的Web api项目。 “项目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中的错误
无法解决   '.NETCoreApp,Version = v2.1'的'D:\ Stuff \ ProjectA \ ProjectA.csproj   
无法解决以下问题的'D:\ Stuff \ ProjectA \ ProjectA.csproj   '.NETCoreApp,Version = 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中不会发生。

1 个答案:

答案 0 :(得分:0)

从错误消息中看,项目B 依赖于项目A

您不能从.NET Core项目中引用.NET Framework项目。这就是一个答案。

现在,为什么可以在Visual Studio中构建它?问题中可能缺少详细信息,或者编译与您尝试执行的编译不同。