Ошибка сборки при упаковке нескольких целей nuget - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь создать пакет Nuget для нескольких целей платформы (.netstandard20 и net46). Я могу построить решение, и выходные данные отображаются на диске, как и ожидалось, но всякий раз, когда я пытаюсь их упаковать (Visual Studio 2019 или msbuild напрямую), я получаю следующую ошибку:

error MSB4057: The target "_GetBuildOutputFilesWithTfm" does not exist in the project.

Я не использую файл .nuspe c, и пакеты разработчика моей целевой платформы установлены правильно.

Вот мой .csproj (метаданные nuget исключены для краткости) - это довольно красиво basi c:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netstandard2.0;net46</TargetFrameworks>
    <ReleaseVersion>1.0</ReleaseVersion>
    <PackageVersion>1.0</PackageVersion>

    ...
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType></DebugType>
  </PropertyGroup>

  <ItemGroup Condition="'$(TargetFramework)'=='net46'">
    <PackageReference Include="NuGet.Build.Tasks.Pack" Version="5.2.0" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
    <PackageReference Include="NuGet.Build.Packaging" Version="0.2.2" />
  </ItemGroup>

</Project>

У кого-нибудь есть идеи ??

Спасибо

1 Ответ

0 голосов
/ 07 марта 2020

Удаление ссылок на NuGet.Build.Tasks.Pack и NuGet.Build.Packaging позволяет только таргетинг. NET Стандарт 2.0 и получение желаемого поведения.

...