@@ -52,6 +52,9 @@ dotnet solution <SLN_FILE> remove [<PROJECT_PATH>...] [options]
52
52
{7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.ActiveCfg = Release|x86
53
53
{7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86
54
54
EndGlobalSection
55
+ GlobalSection(SolutionProperties) = preSolution
56
+ HideSolutionNode = FALSE
57
+ EndGlobalSection
55
58
EndGlobal
56
59
" ;
57
60
@@ -314,27 +317,31 @@ public void WhenInvalidSolutionIsPassedItPrintsErrorAndUsage(string solutionComm
314
317
. WithWorkingDirectory ( projectDirectory )
315
318
. Execute ( solutionCommand , "InvalidSolution.sln" , "remove" , projectToRemove ) ;
316
319
cmd . Should ( ) . Fail ( ) ;
317
- cmd . StdErr . Should ( ) . Be ( string . Format ( CommonLocalizableStrings . InvalidSolutionFormatString , "InvalidSolution.sln" , LocalizableStrings . FileHeaderMissingError ) ) ;
320
+ cmd . StdErr . Should ( ) . Match ( string . Format ( CommonLocalizableStrings . InvalidSolutionFormatString , "InvalidSolution.sln" , "*" ) ) ;
318
321
cmd . StdOut . Should ( ) . BeVisuallyEquivalentToIfNotLocalized ( "" ) ;
319
322
}
320
323
321
324
[ Theory ]
322
- [ InlineData ( "sln" ) ]
323
- [ InlineData ( "solution" ) ]
324
- public void WhenInvalidSolutionIsFoundRemovePrintsErrorAndUsage ( string solutionCommand )
325
+ [ InlineData ( "sln" , ".sln" ) ]
326
+ [ InlineData ( "solution" , ".sln" ) ]
327
+ public void WhenInvalidSolutionIsFoundRemovePrintsErrorAndUsage ( string solutionCommand , string solutionExtension )
325
328
{
326
- var projectDirectory = _testAssetsManager
329
+ var projectDirectoryRoot = _testAssetsManager
327
330
. CopyTestAsset ( "InvalidSolution" , identifier : $ "{ solutionCommand } ")
328
331
. WithSource ( )
329
332
. Path ;
330
333
334
+ var projectDirectory = solutionExtension == ".sln"
335
+ ? Path . Join ( projectDirectoryRoot , "Sln" )
336
+ : Path . Join ( projectDirectoryRoot , "Slnx" ) ;
337
+
331
338
var solutionPath = Path . Combine ( projectDirectory , "InvalidSolution.sln" ) ;
332
339
var projectToRemove = Path . Combine ( "Lib" , "Lib.csproj" ) ;
333
340
var cmd = new DotnetCommand ( Log )
334
341
. WithWorkingDirectory ( projectDirectory )
335
342
. Execute ( solutionCommand , "remove" , projectToRemove ) ;
336
343
cmd . Should ( ) . Fail ( ) ;
337
- cmd . StdErr . Should ( ) . Be ( string . Format ( CommonLocalizableStrings . InvalidSolutionFormatString , solutionPath , LocalizableStrings . FileHeaderMissingError ) ) ;
344
+ cmd . StdErr . Should ( ) . Match ( string . Format ( CommonLocalizableStrings . InvalidSolutionFormatString , solutionPath , "*" ) ) ;
338
345
cmd . StdOut . Should ( ) . BeVisuallyEquivalentToIfNotLocalized ( "" ) ;
339
346
}
340
347
@@ -408,7 +415,7 @@ public void WhenPassedAReferenceNotInSlnItPrintsStatus(string solutionCommand)
408
415
var contentBefore = File . ReadAllText ( solutionPath ) ;
409
416
var cmd = new DotnetCommand ( Log )
410
417
. WithWorkingDirectory ( projectDirectory )
411
- . Execute ( solutionCommand , "remove" , "referenceDoesNotExistInSln.csproj" ) ;
418
+ . Execute ( solutionCommand , "App.sln" , " remove", "referenceDoesNotExistInSln.csproj" ) ;
412
419
cmd . Should ( ) . Pass ( ) ;
413
420
cmd . StdOut . Should ( ) . Be ( string . Format ( CommonLocalizableStrings . ProjectNotFoundInTheSolution , "referenceDoesNotExistInSln.csproj" ) ) ;
414
421
File . ReadAllText ( solutionPath )
@@ -432,7 +439,7 @@ public void WhenPassedAReferenceItRemovesTheReferenceButNotOtherReferences(strin
432
439
var projectToRemove = Path . Combine ( "Lib" , "Lib.csproj" ) ;
433
440
var cmd = new DotnetCommand ( Log )
434
441
. WithWorkingDirectory ( projectDirectory )
435
- . Execute ( solutionCommand , "remove" , projectToRemove ) ;
442
+ . Execute ( solutionCommand , "App.sln" , " remove", projectToRemove ) ;
436
443
cmd . Should ( ) . Pass ( ) ;
437
444
cmd . StdOut . Should ( ) . Be ( string . Format ( CommonLocalizableStrings . ProjectRemovedFromTheSolution , projectToRemove ) ) ;
438
445
@@ -457,7 +464,7 @@ public void WhenSolutionItemsExistInFolderParentFoldersAreNotRemoved(string solu
457
464
var projectToRemove = Path . Combine ( "ConsoleApp1" , "ConsoleApp1.csproj" ) ;
458
465
var cmd = new DotnetCommand ( Log )
459
466
. WithWorkingDirectory ( projectDirectory )
460
- . Execute ( solutionCommand , "remove" , projectToRemove ) ;
467
+ . Execute ( solutionCommand , "App.sln" , " remove", projectToRemove ) ;
461
468
cmd . Should ( ) . Pass ( ) ;
462
469
cmd . StdOut . Should ( ) . Be ( string . Format ( CommonLocalizableStrings . ProjectRemovedFromTheSolution , projectToRemove ) ) ;
463
470
@@ -484,7 +491,7 @@ public void WhenDuplicateReferencesArePresentItRemovesThemAll(string solutionCom
484
491
var projectToRemove = Path . Combine ( "Lib" , "Lib.csproj" ) ;
485
492
var cmd = new DotnetCommand ( Log )
486
493
. WithWorkingDirectory ( projectDirectory )
487
- . Execute ( solutionCommand , "remove" , projectToRemove ) ;
494
+ . Execute ( solutionCommand , "App.sln" , " remove", projectToRemove ) ;
488
495
cmd . Should ( ) . Pass ( ) ;
489
496
490
497
string outputText = string . Format ( CommonLocalizableStrings . ProjectRemovedFromTheSolution , projectToRemove ) ;
@@ -513,7 +520,7 @@ public void WhenPassedMultipleReferencesAndOneOfThemDoesNotExistItRemovesTheOneT
513
520
var projectToRemove = Path . Combine ( "Lib" , "Lib.csproj" ) ;
514
521
var cmd = new DotnetCommand ( Log )
515
522
. WithWorkingDirectory ( projectDirectory )
516
- . Execute ( solutionCommand , "remove" , "idontexist.csproj" , projectToRemove , "idontexisteither.csproj" ) ;
523
+ . Execute ( solutionCommand , "App.sln" , " remove", "idontexist.csproj" , projectToRemove , "idontexisteither.csproj" ) ;
517
524
cmd . Should ( ) . Pass ( ) ;
518
525
519
526
string outputText = $@ "{ string . Format ( CommonLocalizableStrings . ProjectNotFoundInTheSolution , "idontexist.csproj" ) }
@@ -544,7 +551,7 @@ public void WhenReferenceIsRemovedBuildConfigsAreAlsoRemoved(string solutionComm
544
551
var projectToRemove = Path . Combine ( "Lib" , "Lib.csproj" ) ;
545
552
var cmd = new DotnetCommand ( Log )
546
553
. WithWorkingDirectory ( projectDirectory )
547
- . Execute ( solutionCommand , "remove" , projectToRemove ) ;
554
+ . Execute ( solutionCommand , "App.sln" , " remove", projectToRemove ) ;
548
555
cmd . Should ( ) . Pass ( ) ;
549
556
550
557
File . ReadAllText ( solutionPath )
@@ -567,7 +574,7 @@ public void WhenDirectoryContainingProjectIsGivenProjectIsRemoved(string solutio
567
574
568
575
var cmd = new DotnetCommand ( Log )
569
576
. WithWorkingDirectory ( projectDirectory )
570
- . Execute ( solutionCommand , "remove" , "Lib" ) ;
577
+ . Execute ( solutionCommand , "App.sln" , " remove", "Lib" ) ;
571
578
cmd . Should ( ) . Pass ( ) ;
572
579
573
580
File . ReadAllText ( solutionPath )
@@ -587,7 +594,7 @@ public void WhenDirectoryContainsNoProjectsItCancelsWholeOperation(string soluti
587
594
588
595
var cmd = new DotnetCommand ( Log )
589
596
. WithWorkingDirectory ( projectDirectory )
590
- . Execute ( solutionCommand , "remove" , directoryToRemove ) ;
597
+ . Execute ( solutionCommand , "App.sln" , " remove", directoryToRemove ) ;
591
598
cmd . Should ( ) . Fail ( ) ;
592
599
cmd . StdErr . Should ( ) . Be (
593
600
string . Format (
@@ -609,7 +616,7 @@ public void WhenDirectoryContainsMultipleProjectsItCancelsWholeOperation(string
609
616
610
617
var cmd = new DotnetCommand ( Log )
611
618
. WithWorkingDirectory ( projectDirectory )
612
- . Execute ( solutionCommand , "remove" , directoryToRemove ) ;
619
+ . Execute ( solutionCommand , "App.sln" , " remove", directoryToRemove ) ;
613
620
cmd . Should ( ) . Fail ( ) ;
614
621
cmd . StdErr . Should ( ) . Be (
615
622
string . Format (
@@ -635,7 +642,7 @@ public void WhenReferenceIsRemovedSlnBuilds(string solutionCommand)
635
642
var projectToRemove = Path . Combine ( "Lib" , "Lib.csproj" ) ;
636
643
var cmd = new DotnetCommand ( Log )
637
644
. WithWorkingDirectory ( projectDirectory )
638
- . Execute ( solutionCommand , "remove" , projectToRemove ) ;
645
+ . Execute ( solutionCommand , "App.sln" , " remove", projectToRemove ) ;
639
646
cmd . Should ( ) . Pass ( ) ;
640
647
641
648
new DotnetCommand ( Log )
@@ -705,7 +712,7 @@ public void WhenFinalReferenceIsRemovedEmptySectionsAreRemoved(string solutionCo
705
712
var libPath = Path . Combine ( "Lib" , "Lib.csproj" ) ;
706
713
var cmd = new DotnetCommand ( Log )
707
714
. WithWorkingDirectory ( projectDirectory )
708
- . Execute ( solutionCommand , "remove" , libPath , appPath ) ;
715
+ . Execute ( solutionCommand , "App.sln" , " remove", libPath , appPath ) ;
709
716
cmd . Should ( ) . Pass ( ) ;
710
717
711
718
var solutionContents = File . ReadAllText ( solutionPath ) ;
@@ -728,7 +735,7 @@ public void WhenNestedProjectIsRemovedItsSolutionFoldersAreRemoved(string soluti
728
735
var projectToRemove = Path . Combine ( "src" , "NotLastProjInSrc" , "NotLastProjInSrc.csproj" ) ;
729
736
var cmd = new DotnetCommand ( Log )
730
737
. WithWorkingDirectory ( projectDirectory )
731
- . Execute ( solutionCommand , "remove" , projectToRemove ) ;
738
+ . Execute ( solutionCommand , "App.sln" , " remove", projectToRemove ) ;
732
739
cmd . Should ( ) . Pass ( ) ;
733
740
734
741
File . ReadAllText ( solutionPath )
@@ -750,7 +757,7 @@ public void WhenFinalNestedProjectIsRemovedSolutionFoldersAreRemoved(string solu
750
757
var projectToRemove = Path . Combine ( "src" , "Lib" , "Lib.csproj" ) ;
751
758
var cmd = new DotnetCommand ( Log )
752
759
. WithWorkingDirectory ( projectDirectory )
753
- . Execute ( solutionCommand , "remove" , projectToRemove ) ;
760
+ . Execute ( solutionCommand , "App.sln" , " remove", projectToRemove ) ;
754
761
cmd . Should ( ) . Pass ( ) ;
755
762
756
763
File . ReadAllText ( solutionPath )
@@ -772,7 +779,7 @@ public void WhenProjectIsRemovedThenDependenciesOnProjectAreAlsoRemoved(string s
772
779
var projectToRemove = Path . Combine ( "Second" , "Second.csproj" ) ;
773
780
var cmd = new DotnetCommand ( Log )
774
781
. WithWorkingDirectory ( projectDirectory )
775
- . Execute ( solutionCommand , "remove" , projectToRemove ) ;
782
+ . Execute ( solutionCommand , "App.sln" , " remove", projectToRemove ) ;
776
783
cmd . Should ( ) . Pass ( ) ;
777
784
778
785
File . ReadAllText ( solutionPath )
0 commit comments