-
Notifications
You must be signed in to change notification settings - Fork 5k
Remove NS1.x assets from building and packaging #53283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,16 @@ | ||
<Project Sdk="Microsoft.Build.NoTargets"> | ||
<!-- Even though this project doesn't compile, we keep the csproj extension so that the source | ||
package infra globs for .cs files. --> | ||
<PropertyGroup> | ||
<TargetFramework>netstandard2.0</TargetFramework> | ||
<!-- The project doesn't compile anything therefore create the package during build. --> | ||
<GeneratePackageOnBuild Condition="'$(BuildingAnOfficialBuildLeg)' != 'true'">true</GeneratePackageOnBuild> | ||
<IsShipping>false</IsShipping> | ||
<SuppressDependenciesWhenPacking>true</SuppressDependenciesWhenPacking> | ||
<!-- This is a source package which includes all .cs files by default. --> | ||
<IsSourcePackage>true</IsSourcePackage> | ||
<!-- This is non-shipping package. --> | ||
<EnablePackageBaselineValidation>false</EnablePackageBaselineValidation> | ||
<PackageDescription>Internal package for sharing Microsoft.Extensions.Hosting.HostFactoryResolver type.</PackageDescription> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<Content Include="*.cs" PackagePath="contentFiles/cs/netstandard1.0/%(FileName)%(Extension)" BuildAction="Compile" /> | ||
</ItemGroup> | ||
</Project> |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,9 +7,9 @@ | |
</PropertyGroup> | ||
<!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. --> | ||
<PropertyGroup> | ||
<IsPartialFacadeAssembly Condition="$(TargetFramework.StartsWith('net4'))">true</IsPartialFacadeAssembly> | ||
<IsPartialFacadeAssembly Condition="'$(TargetFramework)' == 'net461'">true</IsPartialFacadeAssembly> | ||
</PropertyGroup> | ||
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> | ||
<ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'"> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. curious on why choose IsPartialFacadeAssembly over the TargetFramework ? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
<Compile Include="Microsoft\CSharp\CSharpCodeGenerator.cs" /> | ||
<Compile Include="Microsoft\CSharp\CSharpCodeGenerator.PlatformNotSupported.cs" /> | ||
<Compile Include="Microsoft\CSharp\CSharpCodeProvider.cs" /> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -118,10 +118,8 @@ public static partial class ImmutableArray | |
public System.Collections.Immutable.ImmutableArray<T> Add(T item) { throw null; } | ||
public System.Collections.Immutable.ImmutableArray<T> AddRange(System.Collections.Generic.IEnumerable<T> items) { throw null; } | ||
public System.Collections.Immutable.ImmutableArray<T> AddRange(System.Collections.Immutable.ImmutableArray<T> items) { throw null; } | ||
#if !NETSTANDARD1_0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. System.Collections.Immutable is widely used, including by Roslyn. Just want to re-confirm there are no known remaining important dependencies on the .NET Standard 1.x assets? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let me provide clarity on the overall communication strategy and then go into specifics for Roslyn.
In parallel to submitting these PRs (one for .NETStandard, another one for .NETFramework and the last one for .NETCoreApp) I'm filing the breaking change issue to send out the mail to Tactics and the bcn alias. I plan to do that later this week. In regards to roslyn as a consumer, I found three code pieces where they still consume the netstandard1.x asset of Customers who try to upgrade these packages to the 6.0.0 version (or to the preview 6 pre-release versions) and still target netstandard1.x, < net461 or < netcoreapp3.1 in their applications will hit an upgrade error in the NuGet Package Explorer or when trying to restore the newer version of the packages i.e. via Please let me know if you have further suggestions regarding the handling and communication of the breaking changes. |
||
public System.ReadOnlyMemory<T> AsMemory() { throw null; } | ||
public System.ReadOnlySpan<T> AsSpan() { throw null; } | ||
#endif | ||
public System.Collections.Immutable.ImmutableArray< | ||
#nullable disable | ||
TOther | ||
|
@@ -154,9 +152,7 @@ public void CopyTo(T[] destination, int destinationIndex) { } | |
public System.Collections.Immutable.ImmutableArray<T> Insert(int index, T item) { throw null; } | ||
public System.Collections.Immutable.ImmutableArray<T> InsertRange(int index, System.Collections.Generic.IEnumerable<T> items) { throw null; } | ||
public System.Collections.Immutable.ImmutableArray<T> InsertRange(int index, System.Collections.Immutable.ImmutableArray<T> items) { throw null; } | ||
#if !NETSTANDARD1_0 | ||
public ref readonly T ItemRef(int index) { throw null; } | ||
#endif | ||
public int LastIndexOf(T item) { throw null; } | ||
public int LastIndexOf(T item, int startIndex) { throw null; } | ||
public int LastIndexOf(T item, int startIndex, int count) { throw null; } | ||
|
@@ -239,9 +235,7 @@ public void CopyTo(T[] array, int index) { } | |
public int IndexOf(T item, int startIndex, int count) { throw null; } | ||
public int IndexOf(T item, int startIndex, int count, System.Collections.Generic.IEqualityComparer<T>? equalityComparer) { throw null; } | ||
public void Insert(int index, T item) { } | ||
#if !NETSTANDARD1_0 | ||
public ref readonly T ItemRef(int index) { throw null; } | ||
#endif | ||
public int LastIndexOf(T item) { throw null; } | ||
public int LastIndexOf(T item, int startIndex) { throw null; } | ||
public int LastIndexOf(T item, int startIndex, int count) { throw null; } | ||
|
@@ -423,7 +417,7 @@ public static partial class ImmutableHashSet | |
public static System.Collections.Immutable.ImmutableHashSet<TSource> ToImmutableHashSet<TSource>(this System.Collections.Immutable.ImmutableHashSet<TSource>.Builder builder) { throw null; } | ||
} | ||
|
||
#if !NETSTANDARD1_0 && !NETSTANDARD1_3 && !NETSTANDARD2_0 && !NETFRAMEWORK | ||
#if !NETSTANDARD2_0 && !NETFRAMEWORK | ||
public sealed partial class ImmutableHashSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.ISet<T>, System.Collections.Generic.IReadOnlySet<T>, System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.Immutable.IImmutableSet<T> | ||
#else | ||
public sealed partial class ImmutableHashSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.ISet<T>, System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.Immutable.IImmutableSet<T> | ||
|
@@ -598,9 +592,7 @@ public void ForEach(System.Action<T> action) { } | |
public int IndexOf(T item, int index, int count, System.Collections.Generic.IEqualityComparer<T>? equalityComparer) { throw null; } | ||
public System.Collections.Immutable.ImmutableList<T> Insert(int index, T item) { throw null; } | ||
public System.Collections.Immutable.ImmutableList<T> InsertRange(int index, System.Collections.Generic.IEnumerable<T> items) { throw null; } | ||
#if !NETSTANDARD1_0 | ||
public ref readonly T ItemRef(int index) { throw null; } | ||
#endif | ||
public int LastIndexOf(T item, int index, int count, System.Collections.Generic.IEqualityComparer<T>? equalityComparer) { throw null; } | ||
public System.Collections.Immutable.ImmutableList<T> Remove(T value) { throw null; } | ||
public System.Collections.Immutable.ImmutableList<T> Remove(T value, System.Collections.Generic.IEqualityComparer<T>? equalityComparer) { throw null; } | ||
|
@@ -688,9 +680,7 @@ public void ForEach(System.Action<T> action) { } | |
public int IndexOf(T item, int index, int count, System.Collections.Generic.IEqualityComparer<T>? equalityComparer) { throw null; } | ||
public void Insert(int index, T item) { } | ||
public void InsertRange(int index, System.Collections.Generic.IEnumerable<T> items) { } | ||
#if !NETSTANDARD1_0 | ||
public ref readonly T ItemRef(int index) { throw null; } | ||
#endif | ||
public int LastIndexOf(T item) { throw null; } | ||
public int LastIndexOf(T item, int startIndex) { throw null; } | ||
public int LastIndexOf(T item, int startIndex, int count) { throw null; } | ||
|
@@ -747,9 +737,7 @@ internal ImmutableQueue() { } | |
public System.Collections.Immutable.ImmutableQueue<T> Enqueue(T value) { throw null; } | ||
public System.Collections.Immutable.ImmutableQueue<T>.Enumerator GetEnumerator() { throw null; } | ||
public T Peek() { throw null; } | ||
#if !NETSTANDARD1_0 | ||
public ref readonly T PeekRef() { throw null; } | ||
#endif | ||
System.Collections.Generic.IEnumerator<T> System.Collections.Generic.IEnumerable<T>.GetEnumerator() { throw null; } | ||
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } | ||
System.Collections.Immutable.IImmutableQueue<T> System.Collections.Immutable.IImmutableQueue<T>.Clear() { throw null; } | ||
|
@@ -840,9 +828,7 @@ void System.Collections.IDictionary.Remove(object key) { } | |
public System.Collections.Immutable.ImmutableSortedDictionary<TKey, TValue>.Builder ToBuilder() { throw null; } | ||
public bool TryGetKey(TKey equalKey, out TKey actualKey) { throw null; } | ||
public bool TryGetValue(TKey key, [System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute(false)] out TValue value) { throw null; } | ||
#if !NETSTANDARD1_0 | ||
public ref readonly TValue ValueRef(TKey key) { throw null; } | ||
#endif | ||
public System.Collections.Immutable.ImmutableSortedDictionary<TKey, TValue> WithComparers(System.Collections.Generic.IComparer<TKey>? keyComparer) { throw null; } | ||
public System.Collections.Immutable.ImmutableSortedDictionary<TKey, TValue> WithComparers(System.Collections.Generic.IComparer<TKey>? keyComparer, System.Collections.Generic.IEqualityComparer<TValue>? valueComparer) { throw null; } | ||
public sealed partial class Builder : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey, TValue>>, System.Collections.Generic.IDictionary<TKey, TValue>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey, TValue>>, System.Collections.Generic.IReadOnlyCollection<System.Collections.Generic.KeyValuePair<TKey, TValue>>, System.Collections.Generic.IReadOnlyDictionary<TKey, TValue>, System.Collections.ICollection, System.Collections.IDictionary, System.Collections.IEnumerable | ||
|
@@ -888,9 +874,7 @@ void System.Collections.IDictionary.Remove(object key) { } | |
public System.Collections.Immutable.ImmutableSortedDictionary<TKey, TValue> ToImmutable() { throw null; } | ||
public bool TryGetKey(TKey equalKey, out TKey actualKey) { throw null; } | ||
public bool TryGetValue(TKey key, [System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute(false)] out TValue value) { throw null; } | ||
#if !NETSTANDARD1_0 | ||
public ref readonly TValue ValueRef(TKey key) { throw null; } | ||
#endif | ||
} | ||
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] | ||
public partial struct Enumerator : System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey, TValue>>, System.Collections.IEnumerator, System.IDisposable | ||
|
@@ -921,11 +905,11 @@ public static partial class ImmutableSortedSet | |
public static System.Collections.Immutable.ImmutableSortedSet<TSource> ToImmutableSortedSet<TSource>(this System.Collections.Immutable.ImmutableSortedSet<TSource>.Builder builder) { throw null; } | ||
} | ||
|
||
#if !NETSTANDARD1_0 && !NETSTANDARD1_3 && !NETSTANDARD2_0 && !NETFRAMEWORK | ||
#if !NETSTANDARD2_0 && !NETFRAMEWORK | ||
public sealed partial class ImmutableSortedSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.IReadOnlyList<T>, System.Collections.Generic.ISet<T>, System.Collections.Generic.IReadOnlySet<T>, System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.IList, System.Collections.Immutable.IImmutableSet<T> | ||
#else | ||
#else | ||
public sealed partial class ImmutableSortedSet<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.IReadOnlyList<T>, System.Collections.Generic.ISet<T>, System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.IList, System.Collections.Immutable.IImmutableSet<T> | ||
#endif | ||
#endif | ||
{ | ||
internal ImmutableSortedSet() { } | ||
public static readonly System.Collections.Immutable.ImmutableSortedSet<T> Empty; | ||
|
@@ -953,9 +937,7 @@ internal ImmutableSortedSet() { } | |
public bool IsProperSupersetOf(System.Collections.Generic.IEnumerable<T> other) { throw null; } | ||
public bool IsSubsetOf(System.Collections.Generic.IEnumerable<T> other) { throw null; } | ||
public bool IsSupersetOf(System.Collections.Generic.IEnumerable<T> other) { throw null; } | ||
#if !NETSTANDARD1_0 | ||
public ref readonly T ItemRef(int index) { throw null; } | ||
#endif | ||
public bool Overlaps(System.Collections.Generic.IEnumerable<T> other) { throw null; } | ||
public System.Collections.Immutable.ImmutableSortedSet<T> Remove(T value) { throw null; } | ||
public System.Collections.Generic.IEnumerable<T> Reverse() { throw null; } | ||
|
@@ -1014,9 +996,7 @@ public void IntersectWith(System.Collections.Generic.IEnumerable<T> other) { } | |
public bool IsProperSupersetOf(System.Collections.Generic.IEnumerable<T> other) { throw null; } | ||
public bool IsSubsetOf(System.Collections.Generic.IEnumerable<T> other) { throw null; } | ||
public bool IsSupersetOf(System.Collections.Generic.IEnumerable<T> other) { throw null; } | ||
#if !NETSTANDARD1_0 | ||
public ref readonly T ItemRef(int index) { throw null; } | ||
#endif | ||
public bool Overlaps(System.Collections.Generic.IEnumerable<T> other) { throw null; } | ||
public bool Remove(T item) { throw null; } | ||
public System.Collections.Generic.IEnumerable<T> Reverse() { throw null; } | ||
|
@@ -1059,9 +1039,7 @@ internal ImmutableStack() { } | |
public System.Collections.Immutable.ImmutableStack<T> Clear() { throw null; } | ||
public System.Collections.Immutable.ImmutableStack<T>.Enumerator GetEnumerator() { throw null; } | ||
public T Peek() { throw null; } | ||
#if !NETSTANDARD1_0 | ||
public ref readonly T PeekRef() { throw null; } | ||
#endif | ||
public System.Collections.Immutable.ImmutableStack<T> Pop() { throw null; } | ||
public System.Collections.Immutable.ImmutableStack<T> Pop(out T value) { throw null; } | ||
public System.Collections.Immutable.ImmutableStack<T> Push(T value) { throw null; } | ||
|
Uh oh!
There was an error while loading. Please reload this page.