Skip to content

Commit

Permalink
Merge pull request #17 from sharwell/netstandard1
Browse files Browse the repository at this point in the history
Support .NET Standard 1.x
  • Loading branch information
sharwell committed Sep 5, 2019
2 parents d912cff + e184e78 commit eaafad3
Showing 1 changed file with 113 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,59 @@
<Target Name="RestoreTargetFrameworkDirectory"
Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard'"
BeforeTargets="ResolveAvailableReferenceAssemblies">
<ItemGroup>
<ItemGroup Condition="'$(NETStandardLibraryPackageVersion)' == ''">
<!-- .NET Standard 1.x -->
<_NetStandardReferences Include="@(Reference)"
Condition="
'%(NuGetPackageId)' == 'Microsoft.Win32.Primitives'
OR '%(NuGetPackageId)' == 'XXXSystem.AppContext'
OR '%(NuGetPackageId)' == 'System.Collections'
OR '%(NuGetPackageId)' == 'System.Collections.Concurrent'
OR '%(NuGetPackageId)' == 'XXXSystem.Console'
OR '%(NuGetPackageId)' == 'System.Diagnostics.Debug'
OR '%(NuGetPackageId)' == 'System.Diagnostics.Tools'
OR '%(NuGetPackageId)' == 'System.Diagnostics.Tracing'
OR '%(NuGetPackageId)' == 'System.Globalization'
OR '%(NuGetPackageId)' == 'System.Globalization.Calendars'
OR '%(NuGetPackageId)' == 'System.IO'
OR '%(NuGetPackageId)' == 'System.IO.Compression'
OR '%(NuGetPackageId)' == 'System.IO.Compression.ZipFile'
OR '%(NuGetPackageId)' == 'XXXSystem.IO.FileSystem'
OR '%(NuGetPackageId)' == 'XXXSystem.IO.FileSystem.Primitives'
OR '%(NuGetPackageId)' == 'System.Linq'
OR '%(NuGetPackageId)' == 'System.Linq.Expressions'
OR '%(NuGetPackageId)' == 'System.Net.Http'
OR '%(NuGetPackageId)' == 'System.Net.Primitives'
OR '%(NuGetPackageId)' == 'System.Net.Sockets'
OR '%(NuGetPackageId)' == 'System.ObjectModel'
OR '%(NuGetPackageId)' == 'System.Reflection'
OR '%(NuGetPackageId)' == 'System.Reflection.Extensions'
OR '%(NuGetPackageId)' == 'System.Reflection.Primitives'
OR '%(NuGetPackageId)' == 'System.Resources.ResourceManager'
OR '%(NuGetPackageId)' == 'System.Runtime'
OR '%(NuGetPackageId)' == 'System.Runtime.Extensions'
OR '%(NuGetPackageId)' == 'System.Runtime.Handles'
OR '%(NuGetPackageId)' == 'System.Runtime.InteropServices'
OR '%(NuGetPackageId)' == 'System.Runtime.InteropServices.RuntimeInformation'
OR '%(NuGetPackageId)' == 'System.Runtime.Numerics'
OR '%(NuGetPackageId)' == 'XXXSystem.Security.Cryptography.Algorithms'
OR '%(NuGetPackageId)' == 'XXXSystem.Security.Cryptography.Encoding'
OR '%(NuGetPackageId)' == 'XXXSystem.Security.Cryptography.Primitives'
OR '%(NuGetPackageId)' == 'XXXSystem.Security.Cryptography.X509Certificates'
OR '%(NuGetPackageId)' == 'System.Text.Encoding'
OR '%(NuGetPackageId)' == 'System.Text.Encoding.Extensions'
OR '%(NuGetPackageId)' == 'System.Text.RegularExpressions'
OR '%(NuGetPackageId)' == 'System.Threading'
OR '%(NuGetPackageId)' == 'System.Threading.Tasks'
OR '%(NuGetPackageId)' == 'System.Threading.Timer'
OR '%(NuGetPackageId)' == 'System.Xml.ReaderWriter'
OR '%(NuGetPackageId)' == 'System.Xml.XDocument'" />
<_NetStandardNuGetPackageFoldersNoSlash Include="$([System.IO.Path]::GetDirectoryName('%(_NetStandardReferences.Identity)'))" />
<_NetStandardNuGetPackageFolders Include="$([MSBuild]::NormalizeDirectory('%(_NetStandardNuGetPackageFoldersNoSlash.Identity)'))" />
</ItemGroup>

<ItemGroup Condition="'$(NETStandardLibraryPackageVersion)' != ''">
<!-- .NET Standard 2+ -->
<_NuGetPackageFoldersItems Include="$(NuGetPackageFolders)" />
<_NetStandardNuGetPackageFolders Include="$([MSBuild]::NormalizeDirectory('%(_NuGetPackageFoldersItems.Identity)', 'netstandard.library', '$(NETStandardLibraryPackageVersion)', 'build', 'netstandard2.0', 'ref'))" />
</ItemGroup>
Expand Down Expand Up @@ -106,12 +158,64 @@
<!-- Automatically annotate .NET Standard assemblies -->
<Target Name="AddStandardAssembliesForAnnotation"
BeforeTargets="ResolveOutputReferenceAssemblies">
<ItemGroup>
<UnannotatedReferenceAssembly Include="@(Reference->'%(FileName)')"
Condition="'%(Reference.NuGetPackageId)' == 'NETStandard.Library' AND Exists('$(AnnotatedReferenceAssemblyDirectory)%(Reference.FileName)%(Reference.Extension)')"
OriginalReference="%(Reference.Identity)"
IsNetStandard="True" />
</ItemGroup>
<ItemGroup Condition="'$(NETStandardLibraryPackageVersion)' == ''">
<!-- .NET Standard 1.x -->
<UnannotatedReferenceAssembly Include="@(Reference->'%(FileName)')"
Condition="Exists('$(AnnotatedReferenceAssemblyDirectory)%(Reference.FileName)%(Reference.Extension)')
AND ('%(Reference.NuGetPackageId)' == 'Microsoft.Win32.Primitives'
OR '%(Reference.NuGetPackageId)' == 'XXXSystem.AppContext'
OR '%(Reference.NuGetPackageId)' == 'System.Collections'
OR '%(Reference.NuGetPackageId)' == 'System.Collections.Concurrent'
OR '%(Reference.NuGetPackageId)' == 'XXXSystem.Console'
OR '%(Reference.NuGetPackageId)' == 'System.Diagnostics.Debug'
OR '%(Reference.NuGetPackageId)' == 'System.Diagnostics.Tools'
OR '%(Reference.NuGetPackageId)' == 'System.Diagnostics.Tracing'
OR '%(Reference.NuGetPackageId)' == 'System.Globalization'
OR '%(Reference.NuGetPackageId)' == 'System.Globalization.Calendars'
OR '%(Reference.NuGetPackageId)' == 'System.IO'
OR '%(Reference.NuGetPackageId)' == 'System.IO.Compression'
OR '%(Reference.NuGetPackageId)' == 'System.IO.Compression.ZipFile'
OR '%(Reference.NuGetPackageId)' == 'XXXSystem.IO.FileSystem'
OR '%(Reference.NuGetPackageId)' == 'XXXSystem.IO.FileSystem.Primitives'
OR '%(Reference.NuGetPackageId)' == 'System.Linq'
OR '%(Reference.NuGetPackageId)' == 'System.Linq.Expressions'
OR '%(Reference.NuGetPackageId)' == 'System.Net.Http'
OR '%(Reference.NuGetPackageId)' == 'System.Net.Primitives'
OR '%(Reference.NuGetPackageId)' == 'System.Net.Sockets'
OR '%(Reference.NuGetPackageId)' == 'System.ObjectModel'
OR '%(Reference.NuGetPackageId)' == 'System.Reflection'
OR '%(Reference.NuGetPackageId)' == 'System.Reflection.Extensions'
OR '%(Reference.NuGetPackageId)' == 'System.Reflection.Primitives'
OR '%(Reference.NuGetPackageId)' == 'System.Resources.ResourceManager'
OR '%(Reference.NuGetPackageId)' == 'System.Runtime'
OR '%(Reference.NuGetPackageId)' == 'System.Runtime.Extensions'
OR '%(Reference.NuGetPackageId)' == 'System.Runtime.Handles'
OR '%(Reference.NuGetPackageId)' == 'System.Runtime.InteropServices'
OR '%(Reference.NuGetPackageId)' == 'System.Runtime.InteropServices.RuntimeInformation'
OR '%(Reference.NuGetPackageId)' == 'System.Runtime.Numerics'
OR '%(Reference.NuGetPackageId)' == 'XXXSystem.Security.Cryptography.Algorithms'
OR '%(Reference.NuGetPackageId)' == 'XXXSystem.Security.Cryptography.Encoding'
OR '%(Reference.NuGetPackageId)' == 'XXXSystem.Security.Cryptography.Primitives'
OR '%(Reference.NuGetPackageId)' == 'XXXSystem.Security.Cryptography.X509Certificates'
OR '%(Reference.NuGetPackageId)' == 'System.Text.Encoding'
OR '%(Reference.NuGetPackageId)' == 'System.Text.Encoding.Extensions'
OR '%(Reference.NuGetPackageId)' == 'System.Text.RegularExpressions'
OR '%(Reference.NuGetPackageId)' == 'System.Threading'
OR '%(Reference.NuGetPackageId)' == 'System.Threading.Tasks'
OR '%(Reference.NuGetPackageId)' == 'System.Threading.Timer'
OR '%(Reference.NuGetPackageId)' == 'System.Xml.ReaderWriter'
OR '%(Reference.NuGetPackageId)' == 'System.Xml.XDocument')"
OriginalReference="%(Reference.Identity)"
IsNetStandard="True" />
</ItemGroup>

<ItemGroup Condition="'$(NETStandardLibraryPackageVersion)' != ''">
<!-- .NET Standard 2+ -->
<UnannotatedReferenceAssembly Include="@(Reference->'%(FileName)')"
Condition="'%(Reference.NuGetPackageId)' == 'NETStandard.Library' AND Exists('$(AnnotatedReferenceAssemblyDirectory)%(Reference.FileName)%(Reference.Extension)')"
OriginalReference="%(Reference.Identity)"
IsNetStandard="True" />
</ItemGroup>
</Target>

<Target Name="UpdateNetStandardAssemblies"
Expand All @@ -121,7 +225,8 @@
<Reference Remove="%(UnannotatedReferenceAssembly.OriginalReference)"
Condition="'%(UnannotatedReferenceAssembly.IsNetStandard)' == 'True' AND Exists('%(UnannotatedReferenceAssembly.OutputAssembly)')" />
<Reference Include="@(UnannotatedReferenceAssembly->'%(OutputAssembly)')"
Condition="'%(UnannotatedReferenceAssembly.IsNetStandard)' == 'True' AND Exists('%(UnannotatedReferenceAssembly.OutputAssembly)')" />
Condition="'%(UnannotatedReferenceAssembly.IsNetStandard)' == 'True' AND Exists('%(UnannotatedReferenceAssembly.OutputAssembly)')"
HintPath="" />
</ItemGroup>
</Target>

Expand Down

0 comments on commit eaafad3

Please sign in to comment.