Home: msbuild /t:pack does not include conditionally included pack content

Created on 9 Apr 2018  路  6Comments  路  Source: NuGet/Home

_From @jsmarcus on April 8, 2018 13:43_

Steps to reproduce

Packing a multi-targeted library with the conditionally included ItemGroup does not include the specified content files. If the condition is removed it includes the content but for all TFMs.

Project file

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

  <PropertyGroup>
    <TargetFrameworks>netstandard1.3;netstandard2.0;Xamarin.iOS10;MonoAndroid80;uap10.0.16299</TargetFrameworks>
  </PropertyGroup>

  <ItemGroup>
    <FontFiles Include="*.otf;*.ttf" />
  </ItemGroup>

  <ItemGroup Condition=" $(TargetFramework.StartsWith('Xamarin.iOS')) ">
    <BundleResource Include="@(FontFiles)" Pack="true" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="MSBuild.Sdk.Extras" Version="1.3.0" PrivateAssets="All" />
  </ItemGroup>

  <Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" />

</Project>

Directory contents:

/
- font.ttf

Command line

msbuild /t:pack

Expected behavior

font.ttf is included in the content and contentFiles portion of the nuspec/nupkg but only for the conditional target framework (in this case Xamarin.iOS10).

Actual behavior

font.ttf is not included as content at all.

Environment data

msbuild /version output:
Microsoft (R) Build Engine version 15.6.85.37198 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

15.6.85.37198

OS info:
Edition: Windows 10 Pro
Version: 1803
Build: 17133.1

If applicable, version of the tool that invokes MSBuild (Visual Studio, dotnet CLI, etc):
Visual Studio Professional 2017
Version 15.6.5

_Copied from original issue: Microsoft/msbuild#3173_

Pack Icebox dotnet.exe Bug

All 6 comments

Thanks for the report. I'm going to move this to the NuGet repo since that's where these targets come from.

documentation to include conditionally referenced content is available here: https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#advanced-extension-points-to-create-customized-package

@jsmarcus please let us know if you are still blocked on this.

@mishra14 keep the issue open as we should still fix the case that was reported in the OP. my comment is a workaround so @jsmarcus can get unblocked

@rohit21agrawal Thanks for pointing that out.

Thank you @rohit21agrawal that has allowed me to create the package. I agree that the issue reported should be fixed as well.

Was this page helpful?
0 / 5 - 0 ratings