Last active
October 31, 2019 21:24
-
-
Save thecodejunkie/f87c2b680f9235f33a0543b53ece1d6e to your computer and use it in GitHub Desktop.
Explicit cs Implict reference of NETStandard.Library
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Are there any differences to the two approaches below? I.e impliclity ending up with the package reference to | |
NETStandard.Library 1.6.1, dvs running with DisableImplicitFrameworkReferences = true and adding an explicit | |
reference to NETStandard.Library? | |
Any pros/cons for either? Any hidden/implicit impacts? | |
See https://github.com/dotnet/sdk/pull/633#issuecomment-272515440 for some context | |
<Project Sdk="Microsoft.NET.Sdk"> | |
<PropertyGroup> | |
<TargetFramework>net452;netstandard1.6</TargetFramework> | |
</PropertyGroup> | |
</Project> | |
vs. | |
<Project Sdk="Microsoft.NET.Sdk"> | |
<PropertyGroup> | |
<TargetFramework>net452;netstandard1.6</TargetFramework> | |
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences> | |
</PropertyGroup> | |
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' "> | |
<PackageReference Include="NETStandard.Library" Version="1.6.1" /> | |
</ItemGroup> | |
</Project> |
I think you have the condition backwards, but if you want a cleaner tree in solution explorer, this would make sense:
<DisableImplicitFrameworkReferencesCondition=" '$(TargetFramework)' == 'net452' ">true</DisableImplicitFrameworkReferences>
@dsplaisted opps! Yeah that's what I meant.. a copy/paste mistake 😊
Just guessing with .NET Core 3, DisableImplicitFrameworkReferences == true
and the fact it's not published on NuGet anymore doesn't go well together? Or is it still published?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@dsplaisted
Gotcha
Sure, but it's more about keeping a clean Dependencies/References list in the editor. Technically you've always had all APIs in the .NET Framework (since they've been installed on your local machine), but that does not mean I want all of them referenced in my project if I'm not going to use them - it just adds noise 😄
So a good middle-way would be this?