我的解决方案中包含以下项目集:
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中不会发生。
答案 0 :(得分:0)
从错误消息中看,项目B 依赖于项目A 。
您不能从.NET Core项目中引用.NET Framework项目。这就是一个答案。
现在,为什么可以在Visual Studio中构建它?问题中可能缺少详细信息,或者编译与您尝试执行的编译不同。