From 116ed9bca6760230cfb672f86ccf88dd3e640629 Mon Sep 17 00:00:00 2001 From: Zlatko Knezevic Date: Tue, 20 Dec 2016 16:40:36 -0800 Subject: [PATCH 1/9] Introducing solution file for test projects This commit introduces a solution file for test projects and modifies the needed build targets to restore the test solution instead of each test project separately. It also introduces a new template called "sln" to dotnet new that drops a template solution file for users to consume. Fixes #5099 --- build/Microsoft.DotNet.Cli.Test.targets | 3 +- .../dotnet-new/CSharp_Sln/$projectName$.sln | 11 + .../dotnet-new/FSharp_Sln/$projectName$.sln | 11 + src/dotnet/commands/dotnet-new/Program.cs | 6 +- src/dotnet/dotnet.csproj | 4 +- test/Microsoft.DotNet.Cli.Tests.sln | 219 ++++++++++++++++++ 6 files changed, 248 insertions(+), 6 deletions(-) create mode 100644 src/dotnet/commands/dotnet-new/CSharp_Sln/$projectName$.sln create mode 100644 src/dotnet/commands/dotnet-new/FSharp_Sln/$projectName$.sln create mode 100644 test/Microsoft.DotNet.Cli.Tests.sln diff --git a/build/Microsoft.DotNet.Cli.Test.targets b/build/Microsoft.DotNet.Cli.Test.targets index eb9e98c36..e0da96edc 100644 --- a/build/Microsoft.DotNet.Cli.Test.targets +++ b/build/Microsoft.DotNet.Cli.Test.targets @@ -90,7 +90,6 @@ Inputs="@(RestoreTestsInputs)" Outputs="@(RestoreTestsInputs->'%(RelativeDir)/obj/project.assets.json');@(RestoreTestsInputs->'%(RelativeDir)/obj/%(Filename).csproj.nuget.g.props');@(RestoreTestsInputs->'%(RelativeDir)/obj/%(Filename).csproj.nuget.g.targets')"> - @@ -112,7 +111,7 @@ - diff --git a/src/dotnet/commands/dotnet-new/CSharp_Sln/$projectName$.sln b/src/dotnet/commands/dotnet-new/CSharp_Sln/$projectName$.sln new file mode 100644 index 000000000..712f2e412 --- /dev/null +++ b/src/dotnet/commands/dotnet-new/CSharp_Sln/$projectName$.sln @@ -0,0 +1,11 @@ +Microsoft Visual Studio Solution File, Format Version 15.00 +# Visual Studio 15 +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-new/FSharp_Sln/$projectName$.sln b/src/dotnet/commands/dotnet-new/FSharp_Sln/$projectName$.sln new file mode 100644 index 000000000..712f2e412 --- /dev/null +++ b/src/dotnet/commands/dotnet-new/FSharp_Sln/$projectName$.sln @@ -0,0 +1,11 @@ +Microsoft Visual Studio Solution File, Format Version 15.00 +# Visual Studio 15 +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-new/Program.cs b/src/dotnet/commands/dotnet-new/Program.cs index 1207748bc..056e19fa3 100644 --- a/src/dotnet/commands/dotnet-new/Program.cs +++ b/src/dotnet/commands/dotnet-new/Program.cs @@ -140,7 +140,8 @@ namespace Microsoft.DotNet.Tools.New new { Name = "Web", isMsBuild = true }, new { Name = "Lib", isMsBuild = true }, new { Name = "Mstest", isMsBuild = true }, - new { Name = "Xunittest", isMsBuild = true } + new { Name = "Xunittest", isMsBuild = true }, + new { Name = "Sln", isMsBuild = true } } }; @@ -151,7 +152,8 @@ namespace Microsoft.DotNet.Tools.New new { Name = "Web", isMsBuild = true }, new { Name = "Lib", isMsBuild = true }, new { Name = "Mstest", isMsBuild = true }, - new { Name = "Xunittest", isMsBuild = true } + new { Name = "Xunittest", isMsBuild = true }, + new { Name = "Sln", isMsBuild = true } } }; diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 10339746a..47e5a0bda 100755 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -13,9 +13,9 @@ - + - + diff --git a/test/Microsoft.DotNet.Cli.Tests.sln b/test/Microsoft.DotNet.Cli.Tests.sln new file mode 100644 index 000000000..5cb6e6624 --- /dev/null +++ b/test/Microsoft.DotNet.Cli.Tests.sln @@ -0,0 +1,219 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-add-p2p.Tests", "dotnet-add-p2p.Tests\dotnet-add-p2p.Tests.csproj", "{AB63A3E5-76A3-4EE9-A380-8E0C7B7644DC}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-restore.Tests", "dotnet-restore.Tests\dotnet-restore.Tests.csproj", "{44942A2B-EA59-4E47-A6E7-8D7CF82EC825}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-add-proj.Tests", "dotnet-add-proj.Tests\dotnet-add-proj.Tests.csproj", "{5CBE5AB3-EE71-4E88-AC71-5813E452A741}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-build.Tests", "dotnet-build.Tests\dotnet-build.Tests.csproj", "{A918B35C-0E62-44A5-94A1-111B82C67310}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-help.Tests", "dotnet-help.Tests\dotnet-help.Tests.csproj", "{97267605-66B9-48B3-9D27-C253EEEC00D5}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-list-p2ps.Tests", "dotnet-list-p2ps.Tests\dotnet-list-p2ps.Tests.csproj", "{1D6C9AA7-4830-4BF0-AE55-1F20102DEBC3}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-list-proj.Tests", "dotnet-list-proj.Tests\dotnet-list-proj.Tests.csproj", "{531EE8FC-32AC-47CA-B9F4-4CC540310FF3}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-migrate.Tests", "dotnet-migrate.Tests\dotnet-migrate.Tests.csproj", "{394A9E3B-2E01-4FA2-A47A-2E26308E975E}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-msbuild.Tests", "dotnet-msbuild.Tests\dotnet-msbuild.Tests.csproj", "{68420EEE-D084-4809-B2EB-C5EE22A6D827}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-new.Tests", "dotnet-new.Tests\dotnet-new.Tests.csproj", "{A616564F-53D5-4394-B7EC-C373CCAE92F8}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-nuget.UnitTests", "dotnet-nuget.UnitTests\dotnet-nuget.UnitTests.csproj", "{CC6F63B6-FE02-4561-BCBB-062DBFF8F758}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-pack.Tests", "dotnet-pack.Tests\dotnet-pack.Tests.csproj", "{21C09199-7F81-494B-9100-6C4A74EFFB7F}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-publish.Tests", "dotnet-publish.Tests\dotnet-publish.Tests.csproj", "{C60AF72E-52FA-4D32-8483-ACA508A9CC98}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-remove-p2p.Tests", "dotnet-remove-p2p.Tests\dotnet-remove-p2p.Tests.csproj", "{40962934-929D-434D-B2C7-76341B387A46}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-remove-proj.Tests", "dotnet-remove-proj.Tests\dotnet-remove-proj.Tests.csproj", "{DE29BC61-23AC-4CDC-9248-6F170E2A9F36}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-run.Tests", "dotnet-run.Tests\dotnet-run.Tests.csproj", "{948FCF35-9FE5-4ACF-9CF6-B65C20805DDD}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-test.Tests", "dotnet-test.Tests\dotnet-test.Tests.csproj", "{128917C9-F2CD-4C98-9BD3-20D0F0B13D61}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-vstest.Tests", "dotnet-vstest.Tests\dotnet-vstest.Tests.csproj", "{B4D339C2-21E7-4EAE-8BDD-2A7DAF88AFDF}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "msbuild.IntegrationTests", "msbuild.IntegrationTests\msbuild.IntegrationTests.csproj", "{CC1EAB87-2A9E-4F05-99EA-5B0F14031D78}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "crossgen.Tests", "crossgen.Tests\crossgen.Tests.csproj", "{B45638FC-D4F6-47E7-9440-C1D65F0492C2}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "binding-redirects.Tests", "binding-redirects.Tests\binding-redirects.Tests.csproj", "{18702FC5-7B1A-49B7-A335-A926064D577A}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "Microsoft.DotNet.Cli.Msi.Tests", "Installer\Microsoft.DotNet.Cli.Msi.Tests\Microsoft.DotNet.Cli.Msi.Tests.csproj", "{2867CE61-92A5-49EC-B9F5-424655257069}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "Kestrel.Tests", "Kestrel.Tests\Kestrel.Tests.csproj", "{642A0997-86E6-40E6-8E74-BFE2DC7C4A58}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "ArgumentForwardingTests", "ArgumentForwardingTests\ArgumentForwardingTests.csproj", "{67418187-0CF6-4213-87D0-5B9B841FD755}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "ArgumentsReflector", "ArgumentsReflector\ArgumentsReflector.csproj", "{8818FEBB-7243-4AB5-9E1C-179F5189FBD7}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "Microsoft.DotNet.Cli.Sln.Internal.Tests", "Microsoft.DotNet.Cli.Sln.Internal.Tests\Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj", "{BF42BEE8-3E23-44EB-B226-3859029A0BF5}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "Microsoft.DotNet.Cli.Utils.Tests", "Microsoft.DotNet.Cli.Utils.Tests\Microsoft.DotNet.Cli.Utils.Tests.csproj", "{7C460953-7E23-436E-9EA9-E4CF37A919B7}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "Microsoft.DotNet.Configurer.UnitTests", "Microsoft.DotNet.Configurer.UnitTests\Microsoft.DotNet.Configurer.UnitTests.csproj", "{91CBD27F-5069-4FD2-AC61-15A69D65E202}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "Microsoft.DotNet.ProjectJsonMigration.Tests", "Microsoft.DotNet.ProjectJsonMigration.Tests\Microsoft.DotNet.ProjectJsonMigration.Tests.csproj", "{4CCE366D-7438-40FB-A868-57D6ACD505BF}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "Microsoft.DotNet.Tools.Tests.Utilities", "Microsoft.DotNet.Tools.Tests.Utilities\Microsoft.DotNet.Tools.Tests.Utilities.csproj", "{D399E9DD-3049-47A2-8BFF-CBE26EACED7E}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "Msbuild.Tests.Utilities", "Msbuild.Tests.Utilities\Msbuild.Tests.Utilities.csproj", "{F5A9E29F-B47B-47F4-A25B-BC991DE3369C}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "EndToEnd", "EndToEnd\EndToEnd.csproj", "{BB8A1F16-614A-428F-970F-CD5F1A981343}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet.Tests", "dotnet.Tests\dotnet.Tests.csproj", "{B4B5DA8E-E2EA-49CB-8B8C-4E157D42E710}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "Performance", "Performance\Performance.csproj", "{2CD55F27-3755-4E7D-8524-81B0BBCB93A4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AB63A3E5-76A3-4EE9-A380-8E0C7B7644DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AB63A3E5-76A3-4EE9-A380-8E0C7B7644DC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AB63A3E5-76A3-4EE9-A380-8E0C7B7644DC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AB63A3E5-76A3-4EE9-A380-8E0C7B7644DC}.Release|Any CPU.Build.0 = Release|Any CPU + {44942A2B-EA59-4E47-A6E7-8D7CF82EC825}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {44942A2B-EA59-4E47-A6E7-8D7CF82EC825}.Debug|Any CPU.Build.0 = Debug|Any CPU + {44942A2B-EA59-4E47-A6E7-8D7CF82EC825}.Release|Any CPU.ActiveCfg = Release|Any CPU + {44942A2B-EA59-4E47-A6E7-8D7CF82EC825}.Release|Any CPU.Build.0 = Release|Any CPU + {5CBE5AB3-EE71-4E88-AC71-5813E452A741}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5CBE5AB3-EE71-4E88-AC71-5813E452A741}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5CBE5AB3-EE71-4E88-AC71-5813E452A741}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5CBE5AB3-EE71-4E88-AC71-5813E452A741}.Release|Any CPU.Build.0 = Release|Any CPU + {A918B35C-0E62-44A5-94A1-111B82C67310}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A918B35C-0E62-44A5-94A1-111B82C67310}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A918B35C-0E62-44A5-94A1-111B82C67310}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A918B35C-0E62-44A5-94A1-111B82C67310}.Release|Any CPU.Build.0 = Release|Any CPU + {97267605-66B9-48B3-9D27-C253EEEC00D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {97267605-66B9-48B3-9D27-C253EEEC00D5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {97267605-66B9-48B3-9D27-C253EEEC00D5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {97267605-66B9-48B3-9D27-C253EEEC00D5}.Release|Any CPU.Build.0 = Release|Any CPU + {1D6C9AA7-4830-4BF0-AE55-1F20102DEBC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1D6C9AA7-4830-4BF0-AE55-1F20102DEBC3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1D6C9AA7-4830-4BF0-AE55-1F20102DEBC3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1D6C9AA7-4830-4BF0-AE55-1F20102DEBC3}.Release|Any CPU.Build.0 = Release|Any CPU + {531EE8FC-32AC-47CA-B9F4-4CC540310FF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {531EE8FC-32AC-47CA-B9F4-4CC540310FF3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {531EE8FC-32AC-47CA-B9F4-4CC540310FF3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {531EE8FC-32AC-47CA-B9F4-4CC540310FF3}.Release|Any CPU.Build.0 = Release|Any CPU + {394A9E3B-2E01-4FA2-A47A-2E26308E975E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {394A9E3B-2E01-4FA2-A47A-2E26308E975E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {394A9E3B-2E01-4FA2-A47A-2E26308E975E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {394A9E3B-2E01-4FA2-A47A-2E26308E975E}.Release|Any CPU.Build.0 = Release|Any CPU + {68420EEE-D084-4809-B2EB-C5EE22A6D827}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {68420EEE-D084-4809-B2EB-C5EE22A6D827}.Debug|Any CPU.Build.0 = Debug|Any CPU + {68420EEE-D084-4809-B2EB-C5EE22A6D827}.Release|Any CPU.ActiveCfg = Release|Any CPU + {68420EEE-D084-4809-B2EB-C5EE22A6D827}.Release|Any CPU.Build.0 = Release|Any CPU + {A616564F-53D5-4394-B7EC-C373CCAE92F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A616564F-53D5-4394-B7EC-C373CCAE92F8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A616564F-53D5-4394-B7EC-C373CCAE92F8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A616564F-53D5-4394-B7EC-C373CCAE92F8}.Release|Any CPU.Build.0 = Release|Any CPU + {CC6F63B6-FE02-4561-BCBB-062DBFF8F758}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CC6F63B6-FE02-4561-BCBB-062DBFF8F758}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CC6F63B6-FE02-4561-BCBB-062DBFF8F758}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CC6F63B6-FE02-4561-BCBB-062DBFF8F758}.Release|Any CPU.Build.0 = Release|Any CPU + {21C09199-7F81-494B-9100-6C4A74EFFB7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {21C09199-7F81-494B-9100-6C4A74EFFB7F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {21C09199-7F81-494B-9100-6C4A74EFFB7F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {21C09199-7F81-494B-9100-6C4A74EFFB7F}.Release|Any CPU.Build.0 = Release|Any CPU + {C60AF72E-52FA-4D32-8483-ACA508A9CC98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C60AF72E-52FA-4D32-8483-ACA508A9CC98}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C60AF72E-52FA-4D32-8483-ACA508A9CC98}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C60AF72E-52FA-4D32-8483-ACA508A9CC98}.Release|Any CPU.Build.0 = Release|Any CPU + {40962934-929D-434D-B2C7-76341B387A46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {40962934-929D-434D-B2C7-76341B387A46}.Debug|Any CPU.Build.0 = Debug|Any CPU + {40962934-929D-434D-B2C7-76341B387A46}.Release|Any CPU.ActiveCfg = Release|Any CPU + {40962934-929D-434D-B2C7-76341B387A46}.Release|Any CPU.Build.0 = Release|Any CPU + {DE29BC61-23AC-4CDC-9248-6F170E2A9F36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DE29BC61-23AC-4CDC-9248-6F170E2A9F36}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DE29BC61-23AC-4CDC-9248-6F170E2A9F36}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DE29BC61-23AC-4CDC-9248-6F170E2A9F36}.Release|Any CPU.Build.0 = Release|Any CPU + {948FCF35-9FE5-4ACF-9CF6-B65C20805DDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {948FCF35-9FE5-4ACF-9CF6-B65C20805DDD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {948FCF35-9FE5-4ACF-9CF6-B65C20805DDD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {948FCF35-9FE5-4ACF-9CF6-B65C20805DDD}.Release|Any CPU.Build.0 = Release|Any CPU + {128917C9-F2CD-4C98-9BD3-20D0F0B13D61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {128917C9-F2CD-4C98-9BD3-20D0F0B13D61}.Debug|Any CPU.Build.0 = Debug|Any CPU + {128917C9-F2CD-4C98-9BD3-20D0F0B13D61}.Release|Any CPU.ActiveCfg = Release|Any CPU + {128917C9-F2CD-4C98-9BD3-20D0F0B13D61}.Release|Any CPU.Build.0 = Release|Any CPU + {B4D339C2-21E7-4EAE-8BDD-2A7DAF88AFDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B4D339C2-21E7-4EAE-8BDD-2A7DAF88AFDF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B4D339C2-21E7-4EAE-8BDD-2A7DAF88AFDF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B4D339C2-21E7-4EAE-8BDD-2A7DAF88AFDF}.Release|Any CPU.Build.0 = Release|Any CPU + {CC1EAB87-2A9E-4F05-99EA-5B0F14031D78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CC1EAB87-2A9E-4F05-99EA-5B0F14031D78}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CC1EAB87-2A9E-4F05-99EA-5B0F14031D78}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CC1EAB87-2A9E-4F05-99EA-5B0F14031D78}.Release|Any CPU.Build.0 = Release|Any CPU + {B45638FC-D4F6-47E7-9440-C1D65F0492C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B45638FC-D4F6-47E7-9440-C1D65F0492C2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B45638FC-D4F6-47E7-9440-C1D65F0492C2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B45638FC-D4F6-47E7-9440-C1D65F0492C2}.Release|Any CPU.Build.0 = Release|Any CPU + {18702FC5-7B1A-49B7-A335-A926064D577A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {18702FC5-7B1A-49B7-A335-A926064D577A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {18702FC5-7B1A-49B7-A335-A926064D577A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {18702FC5-7B1A-49B7-A335-A926064D577A}.Release|Any CPU.Build.0 = Release|Any CPU + {2867CE61-92A5-49EC-B9F5-424655257069}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2867CE61-92A5-49EC-B9F5-424655257069}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2867CE61-92A5-49EC-B9F5-424655257069}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2867CE61-92A5-49EC-B9F5-424655257069}.Release|Any CPU.Build.0 = Release|Any CPU + {642A0997-86E6-40E6-8E74-BFE2DC7C4A58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {642A0997-86E6-40E6-8E74-BFE2DC7C4A58}.Debug|Any CPU.Build.0 = Debug|Any CPU + {642A0997-86E6-40E6-8E74-BFE2DC7C4A58}.Release|Any CPU.ActiveCfg = Release|Any CPU + {642A0997-86E6-40E6-8E74-BFE2DC7C4A58}.Release|Any CPU.Build.0 = Release|Any CPU + {67418187-0CF6-4213-87D0-5B9B841FD755}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {67418187-0CF6-4213-87D0-5B9B841FD755}.Debug|Any CPU.Build.0 = Debug|Any CPU + {67418187-0CF6-4213-87D0-5B9B841FD755}.Release|Any CPU.ActiveCfg = Release|Any CPU + {67418187-0CF6-4213-87D0-5B9B841FD755}.Release|Any CPU.Build.0 = Release|Any CPU + {8818FEBB-7243-4AB5-9E1C-179F5189FBD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8818FEBB-7243-4AB5-9E1C-179F5189FBD7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8818FEBB-7243-4AB5-9E1C-179F5189FBD7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8818FEBB-7243-4AB5-9E1C-179F5189FBD7}.Release|Any CPU.Build.0 = Release|Any CPU + {BF42BEE8-3E23-44EB-B226-3859029A0BF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BF42BEE8-3E23-44EB-B226-3859029A0BF5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BF42BEE8-3E23-44EB-B226-3859029A0BF5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BF42BEE8-3E23-44EB-B226-3859029A0BF5}.Release|Any CPU.Build.0 = Release|Any CPU + {7C460953-7E23-436E-9EA9-E4CF37A919B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7C460953-7E23-436E-9EA9-E4CF37A919B7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7C460953-7E23-436E-9EA9-E4CF37A919B7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7C460953-7E23-436E-9EA9-E4CF37A919B7}.Release|Any CPU.Build.0 = Release|Any CPU + {91CBD27F-5069-4FD2-AC61-15A69D65E202}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91CBD27F-5069-4FD2-AC61-15A69D65E202}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91CBD27F-5069-4FD2-AC61-15A69D65E202}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91CBD27F-5069-4FD2-AC61-15A69D65E202}.Release|Any CPU.Build.0 = Release|Any CPU + {4CCE366D-7438-40FB-A868-57D6ACD505BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4CCE366D-7438-40FB-A868-57D6ACD505BF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4CCE366D-7438-40FB-A868-57D6ACD505BF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4CCE366D-7438-40FB-A868-57D6ACD505BF}.Release|Any CPU.Build.0 = Release|Any CPU + {D399E9DD-3049-47A2-8BFF-CBE26EACED7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D399E9DD-3049-47A2-8BFF-CBE26EACED7E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D399E9DD-3049-47A2-8BFF-CBE26EACED7E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D399E9DD-3049-47A2-8BFF-CBE26EACED7E}.Release|Any CPU.Build.0 = Release|Any CPU + {F5A9E29F-B47B-47F4-A25B-BC991DE3369C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F5A9E29F-B47B-47F4-A25B-BC991DE3369C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F5A9E29F-B47B-47F4-A25B-BC991DE3369C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F5A9E29F-B47B-47F4-A25B-BC991DE3369C}.Release|Any CPU.Build.0 = Release|Any CPU + {BB8A1F16-614A-428F-970F-CD5F1A981343}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BB8A1F16-614A-428F-970F-CD5F1A981343}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BB8A1F16-614A-428F-970F-CD5F1A981343}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BB8A1F16-614A-428F-970F-CD5F1A981343}.Release|Any CPU.Build.0 = Release|Any CPU + {B4B5DA8E-E2EA-49CB-8B8C-4E157D42E710}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B4B5DA8E-E2EA-49CB-8B8C-4E157D42E710}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B4B5DA8E-E2EA-49CB-8B8C-4E157D42E710}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B4B5DA8E-E2EA-49CB-8B8C-4E157D42E710}.Release|Any CPU.Build.0 = Release|Any CPU + {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal From 433fb760c990c055a987fb7276f5dfece7026e43 Mon Sep 17 00:00:00 2001 From: blackdwarf Date: Fri, 23 Dec 2016 09:08:59 -0800 Subject: [PATCH 2/9] Responding to PR feedback --- src/dotnet/dotnet.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 47e5a0bda..4aed4b952 100755 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -13,10 +13,10 @@ - + - + From cf690c5664a4a479263d4f1da66147c57b18b0e5 Mon Sep 17 00:00:00 2001 From: Zlatko Knezevic Date: Wed, 4 Jan 2017 14:50:15 -0800 Subject: [PATCH 3/9] Responding to PR feedback --- .../commands/dotnet-new/CSharp_Sln/$projectName$.sln | 11 ----------- .../commands/dotnet-new/FSharp_Sln/$projectName$.sln | 11 ----------- src/dotnet/commands/dotnet-new/Program.cs | 6 ++---- src/dotnet/dotnet.csproj | 6 +++--- 4 files changed, 5 insertions(+), 29 deletions(-) delete mode 100644 src/dotnet/commands/dotnet-new/CSharp_Sln/$projectName$.sln delete mode 100644 src/dotnet/commands/dotnet-new/FSharp_Sln/$projectName$.sln diff --git a/src/dotnet/commands/dotnet-new/CSharp_Sln/$projectName$.sln b/src/dotnet/commands/dotnet-new/CSharp_Sln/$projectName$.sln deleted file mode 100644 index 712f2e412..000000000 --- a/src/dotnet/commands/dotnet-new/CSharp_Sln/$projectName$.sln +++ /dev/null @@ -1,11 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 15.00 -# Visual Studio 15 -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-new/FSharp_Sln/$projectName$.sln b/src/dotnet/commands/dotnet-new/FSharp_Sln/$projectName$.sln deleted file mode 100644 index 712f2e412..000000000 --- a/src/dotnet/commands/dotnet-new/FSharp_Sln/$projectName$.sln +++ /dev/null @@ -1,11 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 15.00 -# Visual Studio 15 -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-new/Program.cs b/src/dotnet/commands/dotnet-new/Program.cs index 056e19fa3..1207748bc 100644 --- a/src/dotnet/commands/dotnet-new/Program.cs +++ b/src/dotnet/commands/dotnet-new/Program.cs @@ -140,8 +140,7 @@ namespace Microsoft.DotNet.Tools.New new { Name = "Web", isMsBuild = true }, new { Name = "Lib", isMsBuild = true }, new { Name = "Mstest", isMsBuild = true }, - new { Name = "Xunittest", isMsBuild = true }, - new { Name = "Sln", isMsBuild = true } + new { Name = "Xunittest", isMsBuild = true } } }; @@ -152,8 +151,7 @@ namespace Microsoft.DotNet.Tools.New new { Name = "Web", isMsBuild = true }, new { Name = "Lib", isMsBuild = true }, new { Name = "Mstest", isMsBuild = true }, - new { Name = "Xunittest", isMsBuild = true }, - new { Name = "Sln", isMsBuild = true } + new { Name = "Xunittest", isMsBuild = true } } }; diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 4aed4b952..10339746a 100755 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -13,10 +13,10 @@ - + - - + + From 632a6f0ce719d00d70baab4161370d7021fa3139 Mon Sep 17 00:00:00 2001 From: Zlatko Knezevic Date: Fri, 13 Jan 2017 14:14:12 -0800 Subject: [PATCH 4/9] Fixing build breaks --- test/Microsoft.DotNet.Cli.Tests.sln | 89 +++++++++++++++++++++-------- 1 file changed, 64 insertions(+), 25 deletions(-) diff --git a/test/Microsoft.DotNet.Cli.Tests.sln b/test/Microsoft.DotNet.Cli.Tests.sln index 5cb6e6624..8d1578038 100644 --- a/test/Microsoft.DotNet.Cli.Tests.sln +++ b/test/Microsoft.DotNet.Cli.Tests.sln @@ -2,19 +2,15 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-add-p2p.Tests", "dotnet-add-p2p.Tests\dotnet-add-p2p.Tests.csproj", "{AB63A3E5-76A3-4EE9-A380-8E0C7B7644DC}" +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-add-reference.Tests", "dotnet-add-reference.Tests\dotnet-add-reference.Tests.csproj", "{AB63A3E5-76A3-4EE9-A380-8E0C7B7644DC}" EndProject Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-restore.Tests", "dotnet-restore.Tests\dotnet-restore.Tests.csproj", "{44942A2B-EA59-4E47-A6E7-8D7CF82EC825}" EndProject -Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-add-proj.Tests", "dotnet-add-proj.Tests\dotnet-add-proj.Tests.csproj", "{5CBE5AB3-EE71-4E88-AC71-5813E452A741}" -EndProject Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-build.Tests", "dotnet-build.Tests\dotnet-build.Tests.csproj", "{A918B35C-0E62-44A5-94A1-111B82C67310}" EndProject Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-help.Tests", "dotnet-help.Tests\dotnet-help.Tests.csproj", "{97267605-66B9-48B3-9D27-C253EEEC00D5}" EndProject -Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-list-p2ps.Tests", "dotnet-list-p2ps.Tests\dotnet-list-p2ps.Tests.csproj", "{1D6C9AA7-4830-4BF0-AE55-1F20102DEBC3}" -EndProject -Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-list-proj.Tests", "dotnet-list-proj.Tests\dotnet-list-proj.Tests.csproj", "{531EE8FC-32AC-47CA-B9F4-4CC540310FF3}" +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-list-reference.Tests", "dotnet-list-reference.Tests\dotnet-list-reference.Tests.csproj", "{1D6C9AA7-4830-4BF0-AE55-1F20102DEBC3}" EndProject Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-migrate.Tests", "dotnet-migrate.Tests\dotnet-migrate.Tests.csproj", "{394A9E3B-2E01-4FA2-A47A-2E26308E975E}" EndProject @@ -28,9 +24,7 @@ Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-pack.Tests", "dotnet EndProject Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-publish.Tests", "dotnet-publish.Tests\dotnet-publish.Tests.csproj", "{C60AF72E-52FA-4D32-8483-ACA508A9CC98}" EndProject -Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-remove-p2p.Tests", "dotnet-remove-p2p.Tests\dotnet-remove-p2p.Tests.csproj", "{40962934-929D-434D-B2C7-76341B387A46}" -EndProject -Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-remove-proj.Tests", "dotnet-remove-proj.Tests\dotnet-remove-proj.Tests.csproj", "{DE29BC61-23AC-4CDC-9248-6F170E2A9F36}" +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-remove-reference.Tests", "dotnet-remove-reference.Tests\dotnet-remove-reference.Tests.csproj", "{40962934-929D-434D-B2C7-76341B387A46}" EndProject Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-run.Tests", "dotnet-run.Tests\dotnet-run.Tests.csproj", "{948FCF35-9FE5-4ACF-9CF6-B65C20805DDD}" EndProject @@ -70,10 +64,26 @@ Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet.Tests", "dotnet.Test EndProject Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "Performance", "Performance\Performance.csproj", "{2CD55F27-3755-4E7D-8524-81B0BBCB93A4}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dotnet-sln-add.Tests", "dotnet-sln-add.Tests", "{5FF48976-B083-4E3B-A8E7-6FCD225D5C8E}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-sln-add.Tests", "dotnet-sln-add.Tests\dotnet-sln-add.Tests.csproj", "{FC849626-89C9-4F50-A2CA-53C4315A87F8}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dotnet-sln-list.Tests", "dotnet-sln-list.Tests", "{15DDC326-69C3-4081-8AA1-B578B2BDE2C6}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-sln-list.Tests", "dotnet-sln-list.Tests\dotnet-sln-list.Tests.csproj", "{5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dotnet-sln-remove.Tests", "dotnet-sln-remove.Tests", "{BB393A93-1770-4753-B7D6-56F0DD378177}" +EndProject +Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-sln-remove.Tests", "dotnet-sln-remove.Tests\dotnet-sln-remove.Tests.csproj", "{92BA9F90-E25B-4A1C-9598-2295D3DFC12F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {AB63A3E5-76A3-4EE9-A380-8E0C7B7644DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -84,10 +94,6 @@ Global {44942A2B-EA59-4E47-A6E7-8D7CF82EC825}.Debug|Any CPU.Build.0 = Debug|Any CPU {44942A2B-EA59-4E47-A6E7-8D7CF82EC825}.Release|Any CPU.ActiveCfg = Release|Any CPU {44942A2B-EA59-4E47-A6E7-8D7CF82EC825}.Release|Any CPU.Build.0 = Release|Any CPU - {5CBE5AB3-EE71-4E88-AC71-5813E452A741}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5CBE5AB3-EE71-4E88-AC71-5813E452A741}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5CBE5AB3-EE71-4E88-AC71-5813E452A741}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5CBE5AB3-EE71-4E88-AC71-5813E452A741}.Release|Any CPU.Build.0 = Release|Any CPU {A918B35C-0E62-44A5-94A1-111B82C67310}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A918B35C-0E62-44A5-94A1-111B82C67310}.Debug|Any CPU.Build.0 = Debug|Any CPU {A918B35C-0E62-44A5-94A1-111B82C67310}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -100,10 +106,6 @@ Global {1D6C9AA7-4830-4BF0-AE55-1F20102DEBC3}.Debug|Any CPU.Build.0 = Debug|Any CPU {1D6C9AA7-4830-4BF0-AE55-1F20102DEBC3}.Release|Any CPU.ActiveCfg = Release|Any CPU {1D6C9AA7-4830-4BF0-AE55-1F20102DEBC3}.Release|Any CPU.Build.0 = Release|Any CPU - {531EE8FC-32AC-47CA-B9F4-4CC540310FF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {531EE8FC-32AC-47CA-B9F4-4CC540310FF3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {531EE8FC-32AC-47CA-B9F4-4CC540310FF3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {531EE8FC-32AC-47CA-B9F4-4CC540310FF3}.Release|Any CPU.Build.0 = Release|Any CPU {394A9E3B-2E01-4FA2-A47A-2E26308E975E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {394A9E3B-2E01-4FA2-A47A-2E26308E975E}.Debug|Any CPU.Build.0 = Debug|Any CPU {394A9E3B-2E01-4FA2-A47A-2E26308E975E}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -132,10 +134,6 @@ Global {40962934-929D-434D-B2C7-76341B387A46}.Debug|Any CPU.Build.0 = Debug|Any CPU {40962934-929D-434D-B2C7-76341B387A46}.Release|Any CPU.ActiveCfg = Release|Any CPU {40962934-929D-434D-B2C7-76341B387A46}.Release|Any CPU.Build.0 = Release|Any CPU - {DE29BC61-23AC-4CDC-9248-6F170E2A9F36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DE29BC61-23AC-4CDC-9248-6F170E2A9F36}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DE29BC61-23AC-4CDC-9248-6F170E2A9F36}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DE29BC61-23AC-4CDC-9248-6F170E2A9F36}.Release|Any CPU.Build.0 = Release|Any CPU {948FCF35-9FE5-4ACF-9CF6-B65C20805DDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {948FCF35-9FE5-4ACF-9CF6-B65C20805DDD}.Debug|Any CPU.Build.0 = Debug|Any CPU {948FCF35-9FE5-4ACF-9CF6-B65C20805DDD}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -208,12 +206,53 @@ Global {B4B5DA8E-E2EA-49CB-8B8C-4E157D42E710}.Debug|Any CPU.Build.0 = Debug|Any CPU {B4B5DA8E-E2EA-49CB-8B8C-4E157D42E710}.Release|Any CPU.ActiveCfg = Release|Any CPU {B4B5DA8E-E2EA-49CB-8B8C-4E157D42E710}.Release|Any CPU.Build.0 = Release|Any CPU - {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Release|Any CPU.Build.0 = Release|Any CPU + {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2CD55F27-3755-4E7D-8524-81B0BBCB93A4}.Release|Any CPU.Build.0 = Release|Any CPU + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Debug|x64.ActiveCfg = Debug|x64 + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Debug|x64.Build.0 = Debug|x64 + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Debug|x86.ActiveCfg = Debug|x86 + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Debug|x86.Build.0 = Debug|x86 + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Release|Any CPU.Build.0 = Release|Any CPU + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Release|x64.ActiveCfg = Release|x64 + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Release|x64.Build.0 = Release|x64 + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Release|x86.ActiveCfg = Release|x86 + {FC849626-89C9-4F50-A2CA-53C4315A87F8}.Release|x86.Build.0 = Release|x86 + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Debug|x64.ActiveCfg = Debug|x64 + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Debug|x64.Build.0 = Debug|x64 + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Debug|x86.ActiveCfg = Debug|x86 + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Debug|x86.Build.0 = Debug|x86 + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Release|Any CPU.Build.0 = Release|Any CPU + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Release|x64.ActiveCfg = Release|x64 + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Release|x64.Build.0 = Release|x64 + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Release|x86.ActiveCfg = Release|x86 + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF}.Release|x86.Build.0 = Release|x86 + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Debug|x64.ActiveCfg = Debug|x64 + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Debug|x64.Build.0 = Debug|x64 + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Debug|x86.ActiveCfg = Debug|x86 + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Debug|x86.Build.0 = Debug|x86 + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Release|Any CPU.Build.0 = Release|Any CPU + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Release|x64.ActiveCfg = Release|x64 + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Release|x64.Build.0 = Release|x64 + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Release|x86.ActiveCfg = Release|x86 + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {FC849626-89C9-4F50-A2CA-53C4315A87F8} = {5FF48976-B083-4E3B-A8E7-6FCD225D5C8E} + {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF} = {15DDC326-69C3-4081-8AA1-B578B2BDE2C6} + {92BA9F90-E25B-4A1C-9598-2295D3DFC12F} = {BB393A93-1770-4753-B7D6-56F0DD378177} + EndGlobalSection EndGlobal From 20b06d1f21d871eeb026c8fdcef14cef4e983c9b Mon Sep 17 00:00:00 2001 From: Zlatko Knezevic Date: Tue, 17 Jan 2017 22:58:34 -0800 Subject: [PATCH 5/9] Adding back a \n --- build/Microsoft.DotNet.Cli.Test.targets | 1 + 1 file changed, 1 insertion(+) diff --git a/build/Microsoft.DotNet.Cli.Test.targets b/build/Microsoft.DotNet.Cli.Test.targets index 6a7c30e26..5568f0f9a 100644 --- a/build/Microsoft.DotNet.Cli.Test.targets +++ b/build/Microsoft.DotNet.Cli.Test.targets @@ -92,6 +92,7 @@ Inputs="@(RestoreTestsInputs)" Outputs="@(RestoreTestsInputs->'%(RelativeDir)/obj/project.assets.json');@(RestoreTestsInputs->'%(RelativeDir)/obj/%(Filename).csproj.nuget.g.props');@(RestoreTestsInputs->'%(RelativeDir)/obj/%(Filename).csproj.nuget.g.targets')"> + From e365eb7591617e192d124483674085e27a74e3cc Mon Sep 17 00:00:00 2001 From: Zlatko Knezevic Date: Wed, 18 Jan 2017 12:04:18 -0800 Subject: [PATCH 6/9] Responding to PR feedback --- build/Microsoft.DotNet.Cli.Test.targets | 34 +++---------------------- 1 file changed, 4 insertions(+), 30 deletions(-) diff --git a/build/Microsoft.DotNet.Cli.Test.targets b/build/Microsoft.DotNet.Cli.Test.targets index 5568f0f9a..410cd753d 100644 --- a/build/Microsoft.DotNet.Cli.Test.targets +++ b/build/Microsoft.DotNet.Cli.Test.targets @@ -86,40 +86,14 @@ + DependsOnTargets="CreateTestAssetPackageNuPkgs;"> - + + ProjectPath=""$(TestDirectory)/Microsoft.DotNet.Cli.Tests.sln"" /> - - - - - - - - - - - - - - - - - - - - From 243f92aa478c4fc82ba5450dac48e8750ae3019d Mon Sep 17 00:00:00 2001 From: Krzysztof Wicher Date: Thu, 19 Jan 2017 11:37:34 -0800 Subject: [PATCH 7/9] fix some flakiness around test assets --- .../TestAssetInfo.cs | 46 +++++-------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs b/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs index a11e149cb..47047fd6f 100644 --- a/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs +++ b/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs @@ -140,18 +140,16 @@ namespace Microsoft.DotNet.TestFramework private IEnumerable LoadInventory(FileInfo file) { + file.Refresh(); if (!file.Exists) { - return Enumerable.Empty(); + throw new InvalidOperationException("Inventory file should exist."); } var inventory = new List(); - - var lines = file.OpenText(); - - while (lines.Peek() > 0) + foreach (var p in File.ReadAllLines(file.FullName)) { - inventory.Add(new FileInfo(lines.ReadLine())); + inventory.Add(new FileInfo(p)); } return inventory; @@ -159,27 +157,13 @@ namespace Microsoft.DotNet.TestFramework private void SaveInventory(FileInfo file, IEnumerable inventory) { - FileUtility.ReplaceWithLock( - filePath => - { - if (!_dataDirectory.Exists) - { - _dataDirectory.Create(); - } + _dataDirectory.Refresh(); + if (!_dataDirectory.Exists) + { + _dataDirectory.Create(); + } - using (var stream = - new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None)) - { - using (var writer = new StreamWriter(stream)) - { - foreach (var path in inventory.Select(i => i.FullName)) - { - writer.WriteLine(path); - } - } - } - }, - file.FullName); + File.WriteAllLines(file.FullName, inventory.Select((fi) => fi.FullName).ToList()); } private IEnumerable GetFileList() @@ -195,15 +179,6 @@ namespace Microsoft.DotNet.TestFramework Action action) { var inventory = Enumerable.Empty(); - if (file.Exists) - { - inventory = LoadInventory(file); - } - - if(inventory.Any()) - { - return inventory; - } IEnumerable preInventory; @@ -220,6 +195,7 @@ namespace Microsoft.DotNet.TestFramework _dataDirectory.FullName, lockedToken => { + file.Refresh(); if (file.Exists) { inventory = LoadInventory(file); From e271b4a8184520bf0bec78b0239e074bfe6a055b Mon Sep 17 00:00:00 2001 From: Krzysztof Wicher Date: Thu, 19 Jan 2017 15:56:16 -0800 Subject: [PATCH 8/9] InvalidOperationException -> ArgumentException --- src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs b/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs index 47047fd6f..8d82e3b3f 100644 --- a/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs +++ b/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs @@ -143,7 +143,7 @@ namespace Microsoft.DotNet.TestFramework file.Refresh(); if (!file.Exists) { - throw new InvalidOperationException("Inventory file should exist."); + throw new ArgumentException("Inventory file should exist."); } var inventory = new List(); From 8ef670161b157ab2242c58b5a7b1ca95d2d5fa6d Mon Sep 17 00:00:00 2001 From: Krzysztof Wicher Date: Thu, 19 Jan 2017 16:43:54 -0800 Subject: [PATCH 9/9] isolate exclusive folder access pattern into separate class --- .../TestAssetInfo.cs | 125 +++++++++++------- 1 file changed, 77 insertions(+), 48 deletions(-) diff --git a/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs b/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs index 8d82e3b3f..e1bcbcbf8 100644 --- a/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs +++ b/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs @@ -138,34 +138,6 @@ namespace Microsoft.DotNet.TestFramework return new DirectoryInfo(Path.Combine(baseDirectory, callingMethod + identifier, _assetName)); } - private IEnumerable LoadInventory(FileInfo file) - { - file.Refresh(); - if (!file.Exists) - { - throw new ArgumentException("Inventory file should exist."); - } - - var inventory = new List(); - foreach (var p in File.ReadAllLines(file.FullName)) - { - inventory.Add(new FileInfo(p)); - } - - return inventory; - } - - private void SaveInventory(FileInfo file, IEnumerable inventory) - { - _dataDirectory.Refresh(); - if (!_dataDirectory.Exists) - { - _dataDirectory.Create(); - } - - File.WriteAllLines(file.FullName, inventory.Select((fi) => fi.FullName).ToList()); - } - private IEnumerable GetFileList() { return _root.GetFiles("*.*", SearchOption.AllDirectories) @@ -191,27 +163,21 @@ namespace Microsoft.DotNet.TestFramework preInventory = beforeAction(); } - Task.Run(async () => await ConcurrencyUtilities.ExecuteWithFileLockedAsync( - _dataDirectory.FullName, - lockedToken => + ExclusiveFolderAccess.Do(_dataDirectory, (folder) => { + file.Refresh(); + if (file.Exists) { - file.Refresh(); - if (file.Exists) - { - inventory = LoadInventory(file); - } - else - { - action(); + inventory = folder.LoadInventory(file); + } + else + { + action(); - inventory = GetFileList().Where(i => !preInventory.Select(p => p.FullName).Contains(i.FullName)); + inventory = GetFileList().Where(i => !preInventory.Select(p => p.FullName).Contains(i.FullName)); - SaveInventory(file, inventory); - } - - return Task.FromResult(new Object()); - }, - CancellationToken.None)).Wait(); + folder.SaveInventory(file, inventory); + } + }); return inventory; } @@ -286,7 +252,10 @@ namespace Microsoft.DotNet.TestFramework return; } - var trackedFiles = _inventoryFiles.AllInventoryFiles.SelectMany(f => LoadInventory(f)); + IEnumerable trackedFiles = null; + ExclusiveFolderAccess.Do(_dataDirectory, (folder) => { + trackedFiles = _inventoryFiles.AllInventoryFiles.SelectMany(f => folder.LoadInventory(f)); + }); var assetFiles = GetFileList(); @@ -316,7 +285,7 @@ namespace Microsoft.DotNet.TestFramework return; } - var updatedSourceFiles = LoadInventory(_inventoryFiles.Source) + var updatedSourceFiles = ExclusiveFolderAccess.Read(_inventoryFiles.Source) .Where(f => f.LastWriteTime > earliestDataDirectoryTimestamp); if (updatedSourceFiles.Any()) @@ -340,5 +309,65 @@ namespace Microsoft.DotNet.TestFramework throw new DirectoryNotFoundException($"Directory not found at '{_root.FullName}'"); } } + + private class ExclusiveFolderAccess + { + private DirectoryInfo _directory; + + private ExclusiveFolderAccess(DirectoryInfo directory) + { + _directory = directory; + } + + public static void Do(DirectoryInfo directory, Action action) + { + Task.Run(async () => await ConcurrencyUtilities.ExecuteWithFileLockedAsync( + directory.FullName, + lockedToken => + { + action(new ExclusiveFolderAccess(directory)); + return Task.FromResult(new Object()); + }, + CancellationToken.None)).Wait(); + } + + public static IEnumerable Read(FileInfo file) + { + IEnumerable ret = null; + Do(file.Directory, (folder) => { + ret = folder.LoadInventory(file); + }); + + return ret; + } + + public IEnumerable LoadInventory(FileInfo file) + { + file.Refresh(); + if (!file.Exists) + { + throw new ArgumentException("Inventory file should exist."); + } + + var inventory = new List(); + foreach (var p in File.ReadAllLines(file.FullName)) + { + inventory.Add(new FileInfo(p)); + } + + return inventory; + } + + public void SaveInventory(FileInfo file, IEnumerable inventory) + { + _directory.Refresh(); + if (!_directory.Exists) + { + _directory.Create(); + } + + File.WriteAllLines(file.FullName, inventory.Select((fi) => fi.FullName).ToList()); + } + } } }