As the open beta is gaining traction, we've discovered some inconveniences in the way we gather the dependencies from runtimepacks that caused erroneous side-effects.
The published list of .deps.json does not only contain assembly versions for the finished package, but also for any potential version that the .NET standard could encounter in a compatible environment, see this.
As we were traversing the entire list of targets, that could mean that versions with the same name would be overwritten, defeating the purpose, if System.Net.Http was encountered multiple places with different versions.
This rewrite now only looks for a specific runtimepack in the list of targets and returns only those versions, instead of everything.
Technically a breaking change, but as its beta we'll keep the major intact, as this is bound to happen more times while we test the beta amongst our customers.
Change overview
Dropped support for generic netstandard targets, as this will omit runtimepacks by design, and will not produce an executable anyway in case of a dotnet publish, defating the purpose
Re-write the runtime assembly generator to only populate with a specific runtimepack
Added test cases
Dropped the multiple RID collection of runtime assemblies, there ought to be only one
Removed netstandard test cases
Removed all committed bin/ and obj/ folders from the test fixtures, as these are generated on the fly behind the scenes anyway and have no value to the tests
As the open beta is gaining traction, we've discovered some inconveniences in the way we gather the dependencies from
runtimepack
s that caused erroneous side-effects.The published list of
.deps.json
does not only contain assembly versions for the finished package, but also for any potential version that the .NET standard could encounter in a compatible environment, see this.As we were traversing the entire list of
target
s, that could mean that versions with the same name would be overwritten, defeating the purpose, ifSystem.Net.Http
was encountered multiple places with different versions.This rewrite now only looks for a specific
runtimepack
in the list oftargets
and returns only those versions, instead of everything.Technically a breaking change, but as its beta we'll keep the major intact, as this is bound to happen more times while we test the beta amongst our customers.
Change overview
netstandard
targets, as this will omitruntimepack
s by design, and will not produce an executable anyway in case of adotnet publish
, defating the purposeruntimepack
netstandard
test casesbin/
andobj/
folders from the test fixtures, as these are generated on the fly behind the scenes anyway and have no value to the tests