Skip to content

Question on instructions for smaller footprint self-contained app #1381

Closed
@guardrex

Description

@guardrex

@blackdwarf @mairaw

In ...

https://github.com/dotnet/docs/blob/master/docs/core/preview3/deploying/index.md#deploying-a-self-contained-deployment-with-a-smaller-footprint

... where it discusses changing ...

<TargetFramework>netcoreapp1.1</TargetFramework>

[Note: My test app is 1.1, so I changed that ☝️ to 1.1 over what's in the doc.]
... to ...

<TargetFramework>netstandard1.6</TargetFramework>

This operation indicates that, instead of using the entire netcoreapp1.0 framework, which includes .NET Core CLR, the .NET Core Library, and a number of other system components, our app uses only the .NET Standard Library.

I published the app both ways ... with the TargetFramework set to netstandard1.6 and with it set to netcoreapp1.1 and there was no difference in size: 45.5 MB (both down from 53.9 MB when using Microsoft.NETCore.App). Both apps run fine, and the published output looks identical.

Can you clarify the difference between using those two target frameworks, since I don't see a difference in app size or runtime behavior? If there is no difference, then why does the instruction say to change the TargetFramework?

Test project: https://github.com/GuardRex/testselfcontained

.NET Command Line Tools (1.0.0-preview3-004056)

Product Information:
 Version:            1.0.0-preview3-004056
 Commit SHA-1 hash:  ccc4968bc3

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.14393
 OS Platform: Windows
 RID:         win10-x64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions