diff --git a/.gitattributes b/.gitattributes
index 1ff0c42..900b6d0 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,27 +1,119 @@
-###############################################################################
-# Set default behavior to automatically normalize line endings.
-###############################################################################
-* text=auto
+# Common settings that generally should always be used with your language specific settings
+
+# Auto detect text files and perform LF normalization
+# https://www.davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/
+* text=auto
+
+#
+# The above will handle all files NOT found below
+#
+
+# Documents
+*.bibtex text diff=bibtex
+*.doc diff=astextplain
+*.DOC diff=astextplain
+*.docx diff=astextplain
+*.DOCX diff=astextplain
+*.dot diff=astextplain
+*.DOT diff=astextplain
+*.pdf diff=astextplain
+*.PDF diff=astextplain
+*.rtf diff=astextplain
+*.RTF diff=astextplain
+*.md text
+*.tex text diff=tex
+*.adoc text
+*.textile text
+*.mustache text
+*.csv text
+*.tab text
+*.tsv text
+*.txt text
+*.sql text
+
+# Graphics
+*.png binary
+*.jpg binary
+*.jpeg binary
+*.gif binary
+*.tif binary
+*.tiff binary
+*.ico binary
+# SVG treated as an asset (binary) by default.
+*.svg text
+# If you want to treat it as binary,
+# use the following line instead.
+# *.svg binary
+*.eps binary
+
+# Scripts
+*.bash text eol=lf
+*.fish text eol=lf
+*.sh text eol=lf
+# These are explicitly windows files and should use crlf
+*.bat text eol=crlf
+*.cmd text eol=crlf
+*.ps1 text eol=crlf
+
+# Serialisation
+*.json text
+*.toml text
+*.xml text
+*.yaml text
+*.yml text
+
+# Archives
+*.7z binary
+*.gz binary
+*.tar binary
+*.tgz binary
+*.zip binary
+
+# Text files where line endings should be preserved
+*.patch -text
-###############################################################################
-# Set default behavior for command prompt diff.
#
-# This is need for earlier builds of msysgit that does not have it on by
-# default for csharp files.
-# Note: This is only used by command line
+# Exclude files from exporting
+#
+
+.gitattributes export-ignore
+.gitignore export-ignore
+###############################################################################
+# Set default behavior to automatically normalize line endings.
###############################################################################
-#*.cs diff=csharp
+* text=auto
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
-# the diff markers are never inserted). Diff markers may cause the following
+# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
-# intervention with every merge. To do so, just uncomment the entries below
+# intervention with every merge. To do so, just comment the entries below and
+# uncomment the group further below
###############################################################################
+
+*.sln text eol=crlf
+*.csproj text eol=crlf
+*.vbproj text eol=crlf
+*.vcxproj text eol=crlf
+*.vcproj text eol=crlf
+*.dbproj text eol=crlf
+*.fsproj text eol=crlf
+*.lsproj text eol=crlf
+*.wixproj text eol=crlf
+*.modelproj text eol=crlf
+*.sqlproj text eol=crlf
+*.wmaproj text eol=crlf
+
+*.xproj text eol=crlf
+*.props text eol=crlf
+*.filters text eol=crlf
+*.vcxitems text eol=crlf
+
+
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
@@ -35,29 +127,7 @@
#*.sqlproj merge=binary
#*.wwaproj merge=binary
-###############################################################################
-# behavior for image files
-#
-# image files are treated as binary by default.
-###############################################################################
-#*.jpg binary
-#*.png binary
-#*.gif binary
-
-###############################################################################
-# diff behavior for common document formats
-#
-# Convert binary document formats to text before diffing them. This feature
-# is only available from the command line. Turn it on by uncommenting the
-# entries below.
-###############################################################################
-#*.doc diff=astextplain
-#*.DOC diff=astextplain
-#*.docx diff=astextplain
-#*.DOCX diff=astextplain
-#*.dot diff=astextplain
-#*.DOT diff=astextplain
-#*.pdf diff=astextplain
-#*.PDF diff=astextplain
-#*.rtf diff=astextplain
-#*.RTF diff=astextplain
+#*.xproj merge=binary
+#*.props merge=binary
+#*.filters merge=binary
+#*.vcxitems merge=binary
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 04b0176..84e30b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,6 @@
-# Created by https://www.gitignore.io/api/rider,linux,macos,csharp,windows,visualstudio,xamarinstudio,visualstudiocode
-# Edit at https://www.gitignore.io/?templates=rider,linux,macos,csharp,windows,visualstudio,xamarinstudio,visualstudiocode
+# Created by https://www.toptal.com/developers/gitignore/api/xcode,rider,linux,macos,csharp,windows,visualstudio,visualstudiocode
+# Edit at https://www.toptal.com/developers/gitignore?templates=xcode,rider,linux,macos,csharp,windows,visualstudio,visualstudiocode
### Csharp ###
## Ignore Visual Studio temporary files, build results, and
@@ -28,12 +28,14 @@ mono_crash.*
[Rr]eleases/
x64/
x86/
+[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
+[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
@@ -65,6 +67,9 @@ project.lock.json
project.fragment.lock.json
artifacts/
+# ASP.NET Scaffolding
+ScaffoldingReadMe.txt
+
# StyleCop
StyleCopReport.xml
@@ -73,6 +78,7 @@ StyleCopReport.xml
*_p.c
*_h.h
*.ilk
+*.meta
*.obj
*.iobj
*.pch
@@ -89,6 +95,7 @@ StyleCopReport.xml
*.tmp_proj
*_wpftmp.csproj
*.log
+*.tlog
*.vspscc
*.vssscc
.builds
@@ -130,9 +137,6 @@ _ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
-# JustCode is a .NET coding add-in
-.JustCode
-
# TeamCity is a build add-in
_TeamCity*
@@ -143,6 +147,11 @@ _TeamCity*
.axoCover/*
!.axoCover/settings.json
+# Coverlet is a free, cross platform Code Coverage Tool
+coverage*.json
+coverage*.xml
+coverage*.info
+
# Visual Studio code coverage results
*.coverage
*.coveragexml
@@ -202,6 +211,9 @@ PublishScripts/
*.nuget.props
*.nuget.targets
+# Nuget personal access tokens and Credentials
+nuget.config
+
# Microsoft Azure Build Output
csx/
*.build.csdef
@@ -352,6 +364,34 @@ healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
+# Ionide (cross platform F# VS Code tools) working folder
+.ionide/
+
+# Fody - auto-generated XML schema
+FodyWeavers.xsd
+
+# VS Code files for those working on multiple tools
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+# Local History for Visual Studio Code
+.history/
+
+# Windows Installer files from build outputs
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
### Linux ###
# temporary files which can be created if a process still has a handle open of a deleted file
@@ -375,6 +415,7 @@ MigrationBackup/
# Icon must end with two \r
Icon
+
# Thumbnails
._*
@@ -395,7 +436,7 @@ Temporary Items
.apdisk
### Rider ###
-# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
@@ -405,6 +446,9 @@ Temporary Items
.idea/**/dictionaries
.idea/**/shelf
+# AWS User-specific
+.idea/**/aws.xml
+
# Generated files
.idea/**/contentModel.xml
@@ -425,6 +469,9 @@ Temporary Items
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
+# .idea/artifacts
+# .idea/compiler.xml
+# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
@@ -465,15 +512,13 @@ fabric.properties
.idea/caches/build_file_checksums.ser
### VisualStudioCode ###
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
+
+# Local History for Visual Studio Code
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
+.ionide
### Windows ###
# Windows thumbnail cache files
@@ -492,19 +537,44 @@ ehthumbs_vista.db
$RECYCLE.BIN/
# Windows Installer files
-*.cab
-*.msi
-*.msix
-*.msm
-*.msp
# Windows shortcuts
*.lnk
-### XamarinStudio ###
-bin/
-obj/
-.packages
+### Xcode ###
+# Xcode
+#
+# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
+
+## User settings
+xcuserdata/
+
+## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
+*.xcscmblueprint
+*.xccheckout
+
+## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
+build/
+DerivedData/
+*.moved-aside
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+
+## Gcc Patch
+/*.gcno
+
+### Xcode Patch ###
+*.xcodeproj/*
+!*.xcodeproj/project.pbxproj
+!*.xcodeproj/xcshareddata/
+!*.xcworkspace/contents.xcworkspacedata
+**/xcshareddata/WorkspaceSettings.xcsettings
### VisualStudio ###
@@ -531,6 +601,8 @@ obj/
# .NET Core
+# ASP.NET Scaffolding
+
# StyleCop
# Files built by Visual Studio
@@ -549,14 +621,14 @@ obj/
# ReSharper is a .NET coding add-in
-# JustCode is a .NET coding add-in
-
# TeamCity is a build add-in
# DotCover is a Code Coverage Tool
# AxoCover is a Code Coverage Tool
+# Coverlet is a free, cross platform Code Coverage Tool
+
# Visual Studio code coverage results
# NCrunch
@@ -586,6 +658,8 @@ obj/
# Uncomment if necessary however generally it will be regenerated when needed
# NuGet v3's project.json files produces more ignorable files
+# Nuget personal access tokens and Credentials
+
# Microsoft Azure Build Output
# Microsoft Azure Emulator
@@ -637,8 +711,8 @@ obj/
# Python Tools for Visual Studio (PTVS)
# Cake - Uncomment if you are using it
-tools/**
-!tools/packages.config
+# tools/**
+# !tools/packages.config
# Tabs Studio
@@ -662,10 +736,27 @@ tools/**
# Backup folder for Package Reference Convert tool in Visual Studio 2017
-# End of https://www.gitignore.io/api/rider,linux,macos,csharp,windows,visualstudio,xamarinstudio,visualstudiocode
+# Ionide (cross platform F# VS Code tools) working folder
+
+# Fody - auto-generated XML schema
+
+# VS Code files for those working on multiple tools
+
+# Local History for Visual Studio Code
+
+# Windows Installer files from build outputs
+
+# JetBrains Rider
+
+### VisualStudio Patch ###
+# Additional files built by Visual Studio
+
+# End of https://www.toptal.com/developers/gitignore/api/xcode,rider,linux,macos,csharp,windows,visualstudio,visualstudiocode
# Exceptions
-!**/*.targets
+!src/.nuget
+!src/MSBuild.Obfuscar/build
+!src/MSBuild.Obfuscar/content
-# End of Exceptions
\ No newline at end of file
+# End Exceptions
\ No newline at end of file
diff --git a/src/Examples/NET50/NET50.csproj b/src/Examples/NET50/NET50.csproj
new file mode 100644
index 0000000..1fb7491
--- /dev/null
+++ b/src/Examples/NET50/NET50.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net5.0
+ false
+ false
+
+
+
+
+ Program.cs
+
+
+ Properties\AssemblyInfo.cs
+
+
+
\ No newline at end of file
diff --git a/src/Examples/NETCORE10/NETCORE10.csproj b/src/Examples/NETCORE10/NETCORE10.csproj
index e05f4ac..0a05b0c 100644
--- a/src/Examples/NETCORE10/NETCORE10.csproj
+++ b/src/Examples/NETCORE10/NETCORE10.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETCORE11/NETCORE11.csproj b/src/Examples/NETCORE11/NETCORE11.csproj
index f4624f9..f0a2c4d 100644
--- a/src/Examples/NETCORE11/NETCORE11.csproj
+++ b/src/Examples/NETCORE11/NETCORE11.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETCORE20/NETCORE20.csproj b/src/Examples/NETCORE20/NETCORE20.csproj
index 7677c8b..f200e32 100644
--- a/src/Examples/NETCORE20/NETCORE20.csproj
+++ b/src/Examples/NETCORE20/NETCORE20.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETCORE21/NETCORE21.csproj b/src/Examples/NETCORE21/NETCORE21.csproj
index a470bca..547ec6f 100644
--- a/src/Examples/NETCORE21/NETCORE21.csproj
+++ b/src/Examples/NETCORE21/NETCORE21.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETCORE22/NETCORE22.csproj b/src/Examples/NETCORE22/NETCORE22.csproj
index 365050d..6503be4 100644
--- a/src/Examples/NETCORE22/NETCORE22.csproj
+++ b/src/Examples/NETCORE22/NETCORE22.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETCORE30/NETCORE30.csproj b/src/Examples/NETCORE30/NETCORE30.csproj
index 956383f..966fb46 100644
--- a/src/Examples/NETCORE30/NETCORE30.csproj
+++ b/src/Examples/NETCORE30/NETCORE30.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETCORE31/NETCORE31.csproj b/src/Examples/NETCORE31/NETCORE31.csproj
index 1101717..6a3c36a 100644
--- a/src/Examples/NETCORE31/NETCORE31.csproj
+++ b/src/Examples/NETCORE31/NETCORE31.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX20/NETFX20.csproj b/src/Examples/NETFX20/NETFX20.csproj
index 0a117a6..b3350ec 100644
--- a/src/Examples/NETFX20/NETFX20.csproj
+++ b/src/Examples/NETFX20/NETFX20.csproj
@@ -37,6 +37,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX30/NETFX30.csproj b/src/Examples/NETFX30/NETFX30.csproj
index ea40e0c..2257e46 100644
--- a/src/Examples/NETFX30/NETFX30.csproj
+++ b/src/Examples/NETFX30/NETFX30.csproj
@@ -38,6 +38,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX35/NETFX35.csproj b/src/Examples/NETFX35/NETFX35.csproj
index 91b14f0..d684ded 100644
--- a/src/Examples/NETFX35/NETFX35.csproj
+++ b/src/Examples/NETFX35/NETFX35.csproj
@@ -38,6 +38,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX40/NETFX40.csproj b/src/Examples/NETFX40/NETFX40.csproj
index e3f70f9..55493f8 100644
--- a/src/Examples/NETFX40/NETFX40.csproj
+++ b/src/Examples/NETFX40/NETFX40.csproj
@@ -41,6 +41,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX45/NETFX45.csproj b/src/Examples/NETFX45/NETFX45.csproj
index 97dad6f..f14cb37 100644
--- a/src/Examples/NETFX45/NETFX45.csproj
+++ b/src/Examples/NETFX45/NETFX45.csproj
@@ -44,6 +44,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX451/NETFX451.csproj b/src/Examples/NETFX451/NETFX451.csproj
index 634760c..6663228 100644
--- a/src/Examples/NETFX451/NETFX451.csproj
+++ b/src/Examples/NETFX451/NETFX451.csproj
@@ -44,6 +44,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX452/NETFX452.csproj b/src/Examples/NETFX452/NETFX452.csproj
index 3b4c159..2caf99a 100644
--- a/src/Examples/NETFX452/NETFX452.csproj
+++ b/src/Examples/NETFX452/NETFX452.csproj
@@ -44,6 +44,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX46/NETFX46.csproj b/src/Examples/NETFX46/NETFX46.csproj
index 619fa77..7d0ff86 100644
--- a/src/Examples/NETFX46/NETFX46.csproj
+++ b/src/Examples/NETFX46/NETFX46.csproj
@@ -44,6 +44,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX461/NETFX461.csproj b/src/Examples/NETFX461/NETFX461.csproj
index 81b512c..3e5be9e 100644
--- a/src/Examples/NETFX461/NETFX461.csproj
+++ b/src/Examples/NETFX461/NETFX461.csproj
@@ -44,6 +44,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX462/NETFX462.csproj b/src/Examples/NETFX462/NETFX462.csproj
index 9ba8fe9..54a7fd8 100644
--- a/src/Examples/NETFX462/NETFX462.csproj
+++ b/src/Examples/NETFX462/NETFX462.csproj
@@ -44,6 +44,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX47/NETFX47.csproj b/src/Examples/NETFX47/NETFX47.csproj
index 46deeb4..e1085d4 100644
--- a/src/Examples/NETFX47/NETFX47.csproj
+++ b/src/Examples/NETFX47/NETFX47.csproj
@@ -42,6 +42,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX471/NETFX471.csproj b/src/Examples/NETFX471/NETFX471.csproj
index 296d053..3033ff9 100644
--- a/src/Examples/NETFX471/NETFX471.csproj
+++ b/src/Examples/NETFX471/NETFX471.csproj
@@ -43,6 +43,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX472/NETFX472.csproj b/src/Examples/NETFX472/NETFX472.csproj
index a40247f..723bb32 100644
--- a/src/Examples/NETFX472/NETFX472.csproj
+++ b/src/Examples/NETFX472/NETFX472.csproj
@@ -43,6 +43,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX48/NETFX48.csproj b/src/Examples/NETFX48/NETFX48.csproj
index 185a50f..725989c 100644
--- a/src/Examples/NETFX48/NETFX48.csproj
+++ b/src/Examples/NETFX48/NETFX48.csproj
@@ -43,6 +43,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETFX_PCL/NETFX_PCL.csproj b/src/Examples/NETFX_PCL/NETFX_PCL.csproj
index 1cc1cc1..6419a28 100644
--- a/src/Examples/NETFX_PCL/NETFX_PCL.csproj
+++ b/src/Examples/NETFX_PCL/NETFX_PCL.csproj
@@ -36,6 +36,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETSTANDARD10/NETSTANDARD10.csproj b/src/Examples/NETSTANDARD10/NETSTANDARD10.csproj
index 55d5075..aa66b21 100644
--- a/src/Examples/NETSTANDARD10/NETSTANDARD10.csproj
+++ b/src/Examples/NETSTANDARD10/NETSTANDARD10.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETSTANDARD11/NETSTANDARD11.csproj b/src/Examples/NETSTANDARD11/NETSTANDARD11.csproj
index 2c29ddc..1925f78 100644
--- a/src/Examples/NETSTANDARD11/NETSTANDARD11.csproj
+++ b/src/Examples/NETSTANDARD11/NETSTANDARD11.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETSTANDARD12/NETSTANDARD12.csproj b/src/Examples/NETSTANDARD12/NETSTANDARD12.csproj
index ebb01c3..66e0935 100644
--- a/src/Examples/NETSTANDARD12/NETSTANDARD12.csproj
+++ b/src/Examples/NETSTANDARD12/NETSTANDARD12.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETSTANDARD13/NETSTANDARD13.csproj b/src/Examples/NETSTANDARD13/NETSTANDARD13.csproj
index ae07313..def4b05 100644
--- a/src/Examples/NETSTANDARD13/NETSTANDARD13.csproj
+++ b/src/Examples/NETSTANDARD13/NETSTANDARD13.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETSTANDARD14/NETSTANDARD14.csproj b/src/Examples/NETSTANDARD14/NETSTANDARD14.csproj
index f7c77e3..4e2ab5a 100644
--- a/src/Examples/NETSTANDARD14/NETSTANDARD14.csproj
+++ b/src/Examples/NETSTANDARD14/NETSTANDARD14.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETSTANDARD15/NETSTANDARD15.csproj b/src/Examples/NETSTANDARD15/NETSTANDARD15.csproj
index d70775a..0006e25 100644
--- a/src/Examples/NETSTANDARD15/NETSTANDARD15.csproj
+++ b/src/Examples/NETSTANDARD15/NETSTANDARD15.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETSTANDARD16/NETSTANDARD16.csproj b/src/Examples/NETSTANDARD16/NETSTANDARD16.csproj
index d9f7b74..003725d 100644
--- a/src/Examples/NETSTANDARD16/NETSTANDARD16.csproj
+++ b/src/Examples/NETSTANDARD16/NETSTANDARD16.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETSTANDARD17/NETSTANDARD17.csproj b/src/Examples/NETSTANDARD17/NETSTANDARD17.csproj
new file mode 100644
index 0000000..69d17bf
--- /dev/null
+++ b/src/Examples/NETSTANDARD17/NETSTANDARD17.csproj
@@ -0,0 +1,17 @@
+
+
+
+ netstandard1.7
+ false
+ false
+
+
+
+
+ Program.cs
+
+
+ Properties\AssemblyInfo.cs
+
+
+
\ No newline at end of file
diff --git a/src/Examples/NETSTANDARD20/NETSTANDARD20.csproj b/src/Examples/NETSTANDARD20/NETSTANDARD20.csproj
index 72e2402..a5af0f8 100644
--- a/src/Examples/NETSTANDARD20/NETSTANDARD20.csproj
+++ b/src/Examples/NETSTANDARD20/NETSTANDARD20.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/NETSTANDARD21/NETSTANDARD21.csproj b/src/Examples/NETSTANDARD21/NETSTANDARD21.csproj
index d2bf7fe..4933007 100644
--- a/src/Examples/NETSTANDARD21/NETSTANDARD21.csproj
+++ b/src/Examples/NETSTANDARD21/NETSTANDARD21.csproj
@@ -7,6 +7,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/XAMARIN_DROID/XAMARIN_DROID.csproj b/src/Examples/XAMARIN_DROID/XAMARIN_DROID.csproj
index 6810857..446c5ab 100644
--- a/src/Examples/XAMARIN_DROID/XAMARIN_DROID.csproj
+++ b/src/Examples/XAMARIN_DROID/XAMARIN_DROID.csproj
@@ -45,6 +45,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Examples/XAMARIN_IOS/XAMARIN_IOS.csproj b/src/Examples/XAMARIN_IOS/XAMARIN_IOS.csproj
index afa9dbb..7d4a3c4 100644
--- a/src/Examples/XAMARIN_IOS/XAMARIN_IOS.csproj
+++ b/src/Examples/XAMARIN_IOS/XAMARIN_IOS.csproj
@@ -41,6 +41,9 @@
+
+ Program.cs
+
Properties\AssemblyInfo.cs
diff --git a/src/Microsoft.Bcl.Build.Symbols.sln b/src/Microsoft.Bcl.Build.Symbols.sln
index aa8fd5f..9e7077d 100644
--- a/src/Microsoft.Bcl.Build.Symbols.sln
+++ b/src/Microsoft.Bcl.Build.Symbols.sln
@@ -101,6 +101,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NETSTANDARD20", "Examples\N
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NETSTANDARD21", "Examples\NETSTANDARD21\NETSTANDARD21.csproj", "{EA403135-CB5D-4B03-84BC-838E69BCB6EE}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NET", "NET", "{F9D3FBA8-1D42-4DA5-B66B-F65964E7956C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NET50", "Examples\NET50\NET50.csproj", "{6C6BEABF-BF8A-4D38-8EB8-CF296239E5E8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NETSTANDARD17", "Examples\NETSTANDARD17\NETSTANDARD17.csproj", "{53C3EF94-BC43-4B74-B7E9-6873C2F9944D}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -177,6 +183,10 @@ Global
{42CDAA4D-7935-49B6-94AA-E961BC134A79}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA403135-CB5D-4B03-84BC-838E69BCB6EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EA403135-CB5D-4B03-84BC-838E69BCB6EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6C6BEABF-BF8A-4D38-8EB8-CF296239E5E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6C6BEABF-BF8A-4D38-8EB8-CF296239E5E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53C3EF94-BC43-4B74-B7E9-6873C2F9944D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53C3EF94-BC43-4B74-B7E9-6873C2F9944D}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -221,6 +231,9 @@ Global
{0E98142A-4ED2-462C-8F92-6A14DE103428} = {72AA72E7-04FA-40C1-9FA8-59241B7ACD53}
{42CDAA4D-7935-49B6-94AA-E961BC134A79} = {72AA72E7-04FA-40C1-9FA8-59241B7ACD53}
{EA403135-CB5D-4B03-84BC-838E69BCB6EE} = {72AA72E7-04FA-40C1-9FA8-59241B7ACD53}
+ {F9D3FBA8-1D42-4DA5-B66B-F65964E7956C} = {2C7126CD-8E20-4D6D-8DBF-CD2AEC823479}
+ {6C6BEABF-BF8A-4D38-8EB8-CF296239E5E8} = {F9D3FBA8-1D42-4DA5-B66B-F65964E7956C}
+ {53C3EF94-BC43-4B74-B7E9-6873C2F9944D} = {72AA72E7-04FA-40C1-9FA8-59241B7ACD53}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F46497FA-D57A-4592-80D2-0B1A18C99B15}
diff --git a/src/Microsoft.Bcl.Build.Symbols/Microsoft.Bcl.Build.Symbols.csproj b/src/Microsoft.Bcl.Build.Symbols/Microsoft.Bcl.Build.Symbols.csproj
index 4f2691e..a7516fe 100644
--- a/src/Microsoft.Bcl.Build.Symbols/Microsoft.Bcl.Build.Symbols.csproj
+++ b/src/Microsoft.Bcl.Build.Symbols/Microsoft.Bcl.Build.Symbols.csproj
@@ -54,6 +54,10 @@
-
+
+
+ C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll
+
+
\ No newline at end of file
diff --git a/src/Microsoft.Bcl.Build.Symbols/Program.cs b/src/Microsoft.Bcl.Build.Symbols/Program.cs
index 17e0521..02895f0 100644
--- a/src/Microsoft.Bcl.Build.Symbols/Program.cs
+++ b/src/Microsoft.Bcl.Build.Symbols/Program.cs
@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+using System.Diagnostics;
namespace Microsoft.Bcl.Build.Symbols
{
@@ -9,8 +6,119 @@ internal class Program
{
private static void Main(string[] args)
{
- Console.WriteLine("Hello World!");
- Console.ReadKey();
+ var framework = "world!";
+ var csversion = "";
+ var platform = "";
+
+/* ******** */
+/* PLATFORM */
+/* ******** */
+
+#if PORTABLE
+ platform = "PCL";
+#elif MONO
+ platform = "Mono";
+#elif IOS
+ platform = "iOS";
+#elif ANDROID
+ platform = "Android";
+#elif XAMARIN
+ platform = "Xamarin";
+#endif
+
+/* ***************** */
+/* FRAMEWORK VERSION */
+/* ***************** */
+
+#if NETFX_20
+ framework = ".NET Framework 2.0";
+#elif NETFX_30
+ framework = ".NET Framework 3.0";
+#elif NETFX_35
+ framework = ".NET Framework 3.5";
+#elif NETFX_40
+ framework = ".NET Framework 4.0";
+#elif NETFX_45
+ framework = ".NET Framework 4.5";
+#elif NETFX_451
+ framework = ".NET Framework 4.5.1";
+#elif NETFX_452
+ framework = ".NET Framework 4.5.2";
+#elif NETFX_46
+ framework = ".NET Framework 4.6";
+#elif NETFX_461
+ framework = ".NET Framework 4.6.1";
+#elif NETFX_462
+ framework = ".NET Framework 4.6.2";
+#elif NETFX_47
+ framework = ".NET Framework 4.7";
+#elif NETFX_471
+ framework = ".NET Framework 4.7.1";
+#elif NETFX_472
+ framework = ".NET Framework 4.7.2";
+#elif NETFX_48
+ framework = ".NET Framework 4.8";
+#elif NETSTANDARD_10
+ framework = ".NET Standard 1.0";
+#elif NETSTANDARD_11
+ framework = ".NET Standard 1.1";
+#elif NETSTANDARD_12
+ framework = ".NET Standard 1.2";
+#elif NETSTANDARD_13
+ framework = ".NET Standard 1.3";
+#elif NETSTANDARD_14
+ framework = ".NET Standard 1.4";
+#elif NETSTANDARD_15
+ framework = ".NET Standard 1.5";
+#elif NETSTANDARD_16
+ framework = ".NET Standard 1.6";
+#elif NETSTANDARD_17
+ framework = ".NET Standard 1.7";
+#elif NETSTANDARD_20
+ framework = ".NET Standard 2.0";
+#elif NETSTANDARD_21
+ framework = ".NET Standard 2.1";
+#elif NETCORE_10
+ framework = ".NET Core 1.0";
+#elif NETCORE_11
+ framework = ".NET Core 1.1";
+#elif NETCORE_20
+ framework = ".NET Core 2.0";
+#elif NETCORE_21
+ framework = ".NET Core 2.1";
+#elif NETCORE_22
+ framework = ".NET Core 2.2";
+#elif NETCORE_30
+ framework = ".NET Core 3.0";
+#elif NETCORE_31
+ framework = ".NET Core 3.1";
+#elif NET_50
+ framework = ".NET 5.0";
+#endif
+
+/* ************** */
+/* CSHARP VERSION */
+/* ************** */
+
+#if CSHARP_20
+ csversion = "2.0";
+#elif CSHARP_30
+ csversion = "3.0";
+#elif CSHARP_40
+ csversion = "4.0";
+#elif CSHARP_50
+ csversion = "5.0";
+#elif CSHARP_60
+ csversion = "6.0";
+#elif CSHARP_70
+ csversion = "7.0";
+#elif CSHARP_80
+ csversion = "8.0";
+#elif CSHARP_90
+ csversion = "9.0";
+#endif
+
+ Debug.WriteLine($"Hello {framework} {platform} with C# {csversion}");
}
}
}
\ No newline at end of file
diff --git a/src/Microsoft.Bcl.Build.Symbols/Properties/AssemblyInfo.cs b/src/Microsoft.Bcl.Build.Symbols/Properties/AssemblyInfo.cs
index 0999631..5dfe1a1 100644
--- a/src/Microsoft.Bcl.Build.Symbols/Properties/AssemblyInfo.cs
+++ b/src/Microsoft.Bcl.Build.Symbols/Properties/AssemblyInfo.cs
@@ -13,8 +13,8 @@
#if !NETSTANDARD_10 && !NETSTANDARD_11
[assembly: Guid("A619D960-0942-47BC-B908-F940ECBFA1E1")]
#endif
-[assembly: AssemblyVersion("1.2.0.*")]
+[assembly: AssemblyVersion("1.4.0.*")]
#pragma warning disable CS7035 // The specified version string does not conform to the recommended format - major.minor.build.revision
-[assembly: AssemblyFileVersion("1.2.0.*")]
+[assembly: AssemblyFileVersion("1.4.0.*")]
#pragma warning restore CS7035 // The specified version string does not conform to the recommended format - major.minor.build.revision
[assembly: NeutralResourcesLanguage("en")]
\ No newline at end of file
diff --git a/src/Microsoft.Bcl.Build.Symbols/build/Microsoft.Bcl.Build.Symbols.targets b/src/Microsoft.Bcl.Build.Symbols/build/Microsoft.Bcl.Build.Symbols.targets
index ac93133..b13b245 100644
--- a/src/Microsoft.Bcl.Build.Symbols/build/Microsoft.Bcl.Build.Symbols.targets
+++ b/src/Microsoft.Bcl.Build.Symbols/build/Microsoft.Bcl.Build.Symbols.targets
@@ -72,6 +72,7 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and
NETSTANDARD_14
NETSTANDARD_15
NETSTANDARD_16
+ NETSTANDARD_17
NETSTANDARD_20
NETSTANDARD_21
@@ -95,7 +96,10 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and
$(BuildConstants)$(ISNETCORE);
$(BuildConstants)$(NETCORE);
-
+
+
+ NET_50
+
$(BuildConstants)PORTABLE;PROFILE_$(TargetFrameworkProfile.ToUpper().Substring(7));
@@ -130,7 +134,11 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and
CSHARP_50
CSHARP_60
CSHARP_70
- CSHARP_80
+
+
+
+ CSHARP_80
+ CSHARP_90
$(BuildConstants)$(CSHARP);