diff --git a/proposed/2022/PrivateAssetIndepdentFromExcludeAsset.md b/proposed/2022/PrivateAssetIndepdentFromExcludeAsset.md index bd12da3aa..c2ea617ee 100644 --- a/proposed/2022/PrivateAssetIndepdentFromExcludeAsset.md +++ b/proposed/2022/PrivateAssetIndepdentFromExcludeAsset.md @@ -8,7 +8,7 @@ ## Summary -Currently `IncludeAssets/ExcludeAssets` options take precedence over `PrivateAssets` asset control option when creating package, so in many cases `IncludeAssets/ExcludeAssets` options completely eclipse the `PrivateAssets` option so doesn't let assets flow to consuming parent project. This proposal introduces new a `PackPrivateAssetsFlow` opt-in property so it let `PrivateAssets` asset control option takes precedence over `IncludeAssets/ExcludeAssets` options to enable asset flow to consuming parent projects. +Currently `IncludeAssets/ExcludeAssets` options take precedence over `PrivateAssets` asset control option when creating package, so in many cases `IncludeAssets/ExcludeAssets` options completely eclipse the `PrivateAssets` option so doesn't let assets flow to consuming parent project. This proposal introduces new a `PrivateAssetIndependent` opt-in property so it let `PrivateAssets` asset control option takes precedence over `IncludeAssets/ExcludeAssets` options to enable asset flow to consuming parent projects. ## Motivation @@ -22,10 +22,10 @@ We couldn't make this default experience because it'll break customers who rely -The new ` PackPrivateAssetsFlow` property only affects pack operation (more specifically nuspec in nupkg file), but doesn't affect restore experience for current project so there would be no change in `project.assets.json` lock file. +The new ` PrivateAssetIndependent` property only affects pack operation (more specifically nuspec in nupkg file), but doesn't affect restore experience for current project so there would be no change in `project.assets.json` lock file. Experience for parent consuming project would be affected by which asset from `compile, runtime, contentFiles, build, buildMultitargeting, buildTransitive, analyzers, native` are flowing into them. -For the following table assume `PackPrivateAssetsFlow` is set `true` when creating package, iterating possible scenarios (not full list) for consuming parent project. +For the following table assume `PrivateAssetIndependent` is set `true` when creating package, iterating possible scenarios (not full list) for consuming parent project. | Asset flowing to parent project | New feature enabled | Possible downside | |-----------------------|--------------|-----------------| @@ -36,7 +36,7 @@ For the following table assume `PackPrivateAssetsFlow` is set `true` when creati #### Examples -##### Case 1 +##### Case 1 for PackageReference Package reference in csproj file. @@ -44,7 +44,7 @@ Package reference in csproj file. netstandard2.0 beta - True + True @@ -70,7 +70,7 @@ After change nuspec file: ``` -##### Case 2 +##### Case 2 for PackageReference Package reference in csproj file. @@ -78,7 +78,7 @@ Package reference in csproj file. netstandard2.0 beta - True + True @@ -117,15 +117,11 @@ We already have a [logic](hhttps://github.com/NuGet/NuGet.Client/blob/380415d812 -- We could make it per package level control metadata. But could be hard to use if the customer want to opt-in for all package references in current project. - -`` - - We could make it opt-in option in `nuget.config` file, but it doesn't give customer to option to opt in/out for per project level. ```.net - + ```