我有一个同时针对net472
和的项目netstandard2.0
。当我在 VisualStudio 中构建项目时,两个框架都在输出目录.nupkg
中生成,并按预期生成了一个文件。
当尝试在 CLI 中构建相同的项目时,dotnet build
它只会构建netstandard2.0
项目而不是net472
. 此外,.nupkg
没有生成(大概是因为所有目标都不可用,但我不确定)。
我有其他项目的设置方式与此项目相同,但仅针对目标netstandard2.0
,这些项目.nupkg
在使用时生成dotnet build
.
如何让 dotnet 使用两个框架构建项目并生成 .nupkg 文件?据我了解,dotnet build
除非-f
提供开关,否则应该构建所有目标框架。
这是项目文件的略微修改版本:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net472;netstandard2.0</TargetFrameworks>
</PropertyGroup>
<!-- .NET 4.7.2 only packages -->
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
<PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.7" />
</ItemGroup>
<!-- All framework packages -->
<ItemGroup>
<PackageReference Include="System.Net.Http" Version="4.3.4" />
</ItemGroup>
<!-- Project references -->
<ItemGroup>
<!-- Various reference in here -->
</ItemGroup>
</Project>
附加信息:
dotnet --版本: 3.1.300
msbuild-版本: 16.5.0.12403