Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Igor, I consolidated the target files for all versions of MSBuild above 4. The way they were used was not consistent anyway, and the changes between different build versions were minimal. In fact, the only change (besides those you made for framework versions above 4.5) was the way the scripts looked for the sn.exe tool and only in case TargetFrameworkSDKToolsDirectory not having been set. I cannot think of a modern (.NET 4) build scenario where it would not.
Also I added a target to add the contract assembly (if it were in fact built, naturally) into the BuiltProjectOutputGroupOutput collection. This way it will be packaged along with the main output assembly. That was the main thing I was going to implement, but I did not want to copy-paste it into 5 versions of the build script, hence the previous change. :)