Skip to content

Update to MSBuild 16, .NET Core 3.0 Preview 2 SDK, and remove obsolete tasks and targets #935

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

Merged
merged 6 commits into from
Feb 19, 2019

Conversation

natemcmaster
Copy link
Contributor

@natemcmaster natemcmaster commented Feb 14, 2019

Part of dotnet/aspnetcore#7005.
Resolves #881

Due to the large amount of breaking changes between MSBuild 15 and 16 (VS 2017 and VS 2019), I've decided to remove tasks broken by the upgrade instead of port them to a higher version.

Changes:

  • Remove tasks related to dependency flow (replaced by Arcade)
  • Remove tasks which push and pack NuGet packages (replaced by Azure Pipelines and pack tasks in Microsoft.NET.Sdk)
  • Remove tasks for enabling/disabling strong name verification in .NET Framework (this was added as a workaround for bad builds from corefx which haven't happened in a long time)
  • Remove tasks related to running KoreBuild inside a Docker container (replaced by the dockerbuild.sh script in aspnet/AspNetCore`)
  • Remove unzip/zip tasks - there is now a version built-in to MSBuild itself which should be used instead

cc @ryanbrandenburg @Eilon

Nate McMaster added 3 commits February 6, 2019 07:49
…asks, targets, and tools

Instead of porting all these obsolete tasks and tools to MSBuild 16 and .NET Core 3, I've removed them in favor of simplifying KoreBuild
@natemcmaster natemcmaster requested a review from dougbu February 14, 2019 01:34
@natemcmaster natemcmaster changed the title Update to MSBuild 16, .NET Core 3.0 Preview 2 SDK, and remove obsolete build infrastructure Update to MSBuild 16, .NET Core 3.0 Preview 2 SDK, and remove obsolete tasks and targets Feb 14, 2019
Copy link
Contributor

@ryanbrandenburg ryanbrandenburg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems great! I'm always down to delete some code. Did we already do a pass at removing the tasks/commands we're killing from the various repos that use them? If I recall correctly the auto-update script won't commit without a passing build, but it would still be nice to have an idea of what kind of problems we'll be facing before we merge this.

Copy link
Contributor

@dougbu dougbu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small touch-ups and suggestions…

catch {
Write-Host -f Red "vswhere output = $vswhereOut"
throw $_
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious (only): What changed that requires this try / catch now?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing changed. I added this to improve console output when something goes wrong. I was making testing changes to the vswhere code which had a bug and the error was hidden. I added this so I could see the problem, and figured it might be generally useful for the future.

@@ -1,4 +1,4 @@
<Project Sdk="Internal.AspNetCore.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this change need to be made in all our repos?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, if there are any. I don't see anything using this pattern in the master branch anymore.

@natemcmaster
Copy link
Contributor Author

If I recall correctly the auto-update script won't commit without a passing build, but it would still be nice to have an idea of what kind of problems we'll be facing before we merge this.

See dotnet/aspnetcore#7005. This PR is running on a version of build tools which has all of these changes that I produced from a "feature" branch build.

Also, we don't have automation to update BuildTools in repos anymore. AspNetCore is the only repo using KoreBuild, and I updated it manually if necessary. When we move to arcade, we'll get tooling updates via Maestro.

@natemcmaster
Copy link
Contributor Author

Updated based on PR feedback. I'll merge this soon-ish. I've validated aspnet + this change to build tools locally, but will waiting for the dnceng team to finish setting up VS2019 agents.

Copy link
Contributor

@Eilon Eilon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deleting effectively dead code? Sure!

@natemcmaster natemcmaster merged commit 7effe75 into master Feb 19, 2019
@natemcmaster natemcmaster deleted the feature/vs2019 branch February 19, 2019 21:03
@natemcmaster
Copy link
Contributor Author

Ready to merge VS2019 work today in AspNetCore. Merging this so we can get an updated BuildTools ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants