* Create backup folder in the directory where 'dotnet migrate' is executed
With this change, 'dotnet migrate' will create the backup folder in the workspace directory rather
than the parent of the workspace directory. This solves two problems:
1. It makes it easier for the user where the backup is -- it's in the directory they targeted with
'dotnet migrate'.
2. It solves a problem of file oollisions with global.json files when migrating multiple projects.
Consider the following directory structure:
root
|
project1
|
global.json
|
src
|
project1
project2
|
global.json
|
src
|
project2
Prior to this change, running 'dotnet migrate' project1 and then running it again in project2
would have caused an exception to be thrown because the migration would try to produce a backup
folder like so:
root
|
backup
| |
| global.json
| |
| project1
| |
| project2
|
|
project1
|
src
|
project1
project2
|
src
|
project2
Now, we produce the following structure, which has no collisions:
root
|
project1
|
backup
| |
| global.json
| |
| project1
|
src
|
project1
|
project2
|
backup
| |
| global.json
| |
| project2
|
src
|
project2
In addition, to help avoid further collisions, a number is appened to the backup folder's name if
it already exists. So, if the user runs dotnet migrate again for some reason, they'll see backup_1,
backup_2, etc.
* Fix test helper
* Fix foolish bug causing infinite loop
* Fix up a couple more tests
* Rework MigrationBackupPlan to process all projects at once
* Fix up tests
* Still fixing tests
* Compute common root folder of projects to determine where backup folder should be placed
* Fix typo
* Fix test to not look in backup folder now that it's in a better location
* Updating the preview4 channel to rel-1.0.0-preview4
* Add more xlf files for new strings
* bundle fsharp sdk, only Sdk directory is required
* align f# console proj
* align f# lib template
* align f# mstest template
* align f# xunit template
* align f# web template
* fix mstest package version, aligned to c#
* remove unused directories from bundled sdks
* Adding a SdkNugetVersion property when invoking dotnet pack on test packages so that test packages can reference exact packages. We need that because of https://github.com/NuGet/Home/issues/4063. Without it, pack creates the nuspec with a version like 1.0.0-version-, instead of 1.0.0-version-<version_used_in_build>, which leads to problems when restoring the tool. Like, it ends up restoring to the closest version of the package (oldest), instead of the latest.
* Update web template for Web SDK 154 (#4948)
* Update WebSDK version
* Update web template to get rid of globs
https://github.com/aspnet/Templates/pull/735
* MSBuild to 15.1.458 (#4950)
* Adding MigrateWebSdkRule to the DefaultMigrationRuleSet (#4963)
* Adding MigrateWebSdkRule to the DefaultMigrationRuleSet and adding a E2E test to cover it.
* Do not migrate compile and EmbeddedResources for web application, because those are included in the Web Sdk already.
* Addressing code review comments