Skip to content

Can dotnet store command exclude dependencies from Microsoft.NETCore.App? #10112

@normj

Description

@normj

Steps to reproduce

  1. Create an xml file listing a package that depends on packages included in Microsoft.NETCore.App. For example.
<Project Sdk="Microsoft.NET.Sdk">
  <ItemGroup>
    <PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="4.0.1" />
  </ItemGroup>
</Project>
  1. Run the dotnet store command
dotnet store -m test-manifest.xml -o ./store --skip-optimization -r rhel.7.2-x64 --framework netcoreapp2.1

Expected behavior

In the runtime package store I expect to see just packages that are not included as part of the .NET Core install including the ones delivered with Microsoft.NETCore.App.

Hoping for an artifact.xml file like this:

<StoreArtifacts>
  <Package Id="Swashbuckle.AspNetCore.Swagger" Version="4.0.1" />
</StoreArtifacts>

Actual behavior

The store includes all of the ASP.NET Core dependencies as bloating my store because those packages are already on the target environment as part of the .NET Core install of Microsoft.NETCore.App.

What I'm looking for is if there is a way to communicate through either the dotnet store command or the manifest that this store is being created for an environment that has Microsoft.NETCore.App installed so ignore dependencies that would come from it.

artifacts.xml file:

<StoreArtifacts>
  <Package Id="Microsoft.AspNetCore.Authentication.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Authentication.Core" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Authorization" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Authorization.Policy" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Hosting.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Hosting.Server.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Http" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Http.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Http.Extensions" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Http.Features" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.JsonPatch" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Mvc.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Mvc.Core" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Mvc.Formatters.Json" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.ResponseCaching.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Routing" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.Routing.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.AspNetCore.WebUtilities" Version="2.0.0" />
  <Package Id="Microsoft.DotNet.PlatformAbstractions" Version="2.0.0" />
  <Package Id="Microsoft.Extensions.Configuration.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.Extensions.DependencyInjection.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.Extensions.DependencyModel" Version="2.0.0" />
  <Package Id="Microsoft.Extensions.FileProviders.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.Extensions.Hosting.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.Extensions.Logging.Abstractions" Version="2.0.0" />
  <Package Id="Microsoft.Extensions.ObjectPool" Version="2.0.0" />
  <Package Id="Microsoft.Extensions.Options" Version="2.0.0" />
  <Package Id="Microsoft.Extensions.Primitives" Version="2.0.0" />
  <Package Id="Microsoft.Net.Http.Headers" Version="2.0.0" />
  <Package Id="Newtonsoft.Json" Version="10.0.1" />
  <Package Id="Swashbuckle.AspNetCore.Swagger" Version="4.0.1" />
  <Package Id="System.Runtime.CompilerServices.Unsafe" Version="4.4.0" />
  <Package Id="System.Text.Encodings.Web" Version="4.4.0" />
</StoreArtifacts>

Environment data

~/temp/LambdaLayer/AspNetCoreTest/src/AspNetCoreTest$ dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 2.2.100
Commit: 5186876

Runtime Environment:
OS Name: Mac OS X
OS Version: 10.14
OS Platform: Darwin
RID: osx.10.14-x64
Base Path: /usr/local/share/dotnet/sdk/2.2.100/

Host (useful for support):
Version: 2.2.0
Commit: 1249f08fed

.NET Core SDKs installed:
1.1.11 [/usr/local/share/dotnet/sdk]
2.1.302 [/usr/local/share/dotnet/sdk]
2.1.403 [/usr/local/share/dotnet/sdk]
2.1.503 [/usr/local/share/dotnet/sdk]
2.2.100 [/usr/local/share/dotnet/sdk]

.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.7 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.7 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.13 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.10 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.7 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions