@@ -19,6 +19,7 @@ public static class ProjectTypeGuids
19
19
public const string VBProjectTypeGuid = "{F184B08F-C81C-45F6-A57F-5ABD9991F28F}" ;
20
20
public const string SolutionFolderGuid = "{2150E333-8FDC-42A3-9474-1A3956D46DE8}" ;
21
21
public const string SharedProjectGuid = "{D954291E-2A0B-460D-934E-DC6B0785DB48}" ;
22
+ public const string DefaultProjectGuid = "{130159A9-F047-44B3-88CF-0CF7F02ED50F}" ;
22
23
}
23
24
24
25
public class GivenDotnetSlnAdd : SdkTest
@@ -750,13 +751,13 @@ public void WhenPassedAnUnknownProjectTypeItFails(string solutionCommand)
750
751
[ InlineData ( "sln" , "SlnFileWithNoProjectReferencesAndCSharpProject" , "CSharpProject" , "CSharpProject.csproj" , ProjectTypeGuids . CSharpProjectTypeGuid ) ]
751
752
[ InlineData ( "sln" , "SlnFileWithNoProjectReferencesAndFSharpProject" , "FSharpProject" , "FSharpProject.fsproj" , ProjectTypeGuids . FSharpProjectTypeGuid ) ]
752
753
[ InlineData ( "sln" , "SlnFileWithNoProjectReferencesAndVBProject" , "VBProject" , "VBProject.vbproj" , ProjectTypeGuids . VBProjectTypeGuid ) ]
753
- [ InlineData ( "sln" , "SlnFileWithNoProjectReferencesAndUnknownProjectWithSingleProjectTypeGuid" , "UnknownProject" , "UnknownProject.unknownproj" , "{130159A9-F047-44B3-88CF-0CF7F02ED50F}" ) ]
754
- [ InlineData ( "sln" , "SlnFileWithNoProjectReferencesAndUnknownProjectWithMultipleProjectTypeGuids" , "UnknownProject" , "UnknownProject.unknownproj" , "{130159A9-F047-44B3-88CF-0CF7F02ED50F}" ) ]
754
+ [ InlineData ( "sln" , "SlnFileWithNoProjectReferencesAndUnknownProjectWithSingleProjectTypeGuid" , "UnknownProject" , "UnknownProject.unknownproj" , ProjectTypeGuids . DefaultProjectGuid ) ]
755
+ [ InlineData ( "sln" , "SlnFileWithNoProjectReferencesAndUnknownProjectWithMultipleProjectTypeGuids" , "UnknownProject" , "UnknownProject.unknownproj" , ProjectTypeGuids . DefaultProjectGuid ) ]
755
756
[ InlineData ( "solution" , "SlnFileWithNoProjectReferencesAndCSharpProject" , "CSharpProject" , "CSharpProject.csproj" , ProjectTypeGuids . CSharpProjectTypeGuid ) ]
756
757
[ InlineData ( "solution" , "SlnFileWithNoProjectReferencesAndFSharpProject" , "FSharpProject" , "FSharpProject.fsproj" , ProjectTypeGuids . FSharpProjectTypeGuid ) ]
757
758
[ InlineData ( "solution" , "SlnFileWithNoProjectReferencesAndVBProject" , "VBProject" , "VBProject.vbproj" , ProjectTypeGuids . VBProjectTypeGuid ) ]
758
- [ InlineData ( "solution" , "SlnFileWithNoProjectReferencesAndUnknownProjectWithSingleProjectTypeGuid" , "UnknownProject" , "UnknownProject.unknownproj" , "{130159A9-F047-44B3-88CF-0CF7F02ED50F}" ) ]
759
- [ InlineData ( "solution" , "SlnFileWithNoProjectReferencesAndUnknownProjectWithMultipleProjectTypeGuids" , "UnknownProject" , "UnknownProject.unknownproj" , "{130159A9-F047-44B3-88CF-0CF7F02ED50F}" ) ]
759
+ [ InlineData ( "solution" , "SlnFileWithNoProjectReferencesAndUnknownProjectWithSingleProjectTypeGuid" , "UnknownProject" , "UnknownProject.unknownproj" , ProjectTypeGuids . DefaultProjectGuid ) ]
760
+ [ InlineData ( "solution" , "SlnFileWithNoProjectReferencesAndUnknownProjectWithMultipleProjectTypeGuids" , "UnknownProject" , "UnknownProject.unknownproj" , ProjectTypeGuids . DefaultProjectGuid ) ]
760
761
public async Task WhenPassedAProjectItAddsCorrectProjectTypeGuid (
761
762
string solutionCommand ,
762
763
string testAsset ,
@@ -789,7 +790,7 @@ public async Task WhenPassedAProjectItAddsCorrectProjectTypeGuid(
789
790
[ InlineData ( "solution" , ".sln" ) ]
790
791
[ InlineData ( "sln" , ".slnx" ) ]
791
792
[ InlineData ( "solution" , ".slnx" ) ]
792
- public void WhenPassedAProjectWithoutATypeGuidItErrors ( string solutionCommand , string solutionExtension )
793
+ public void WhenPassedAProjectWithoutATypeGuidNorDefaultTypeGuidItErrors ( string solutionCommand , string solutionExtension )
793
794
{
794
795
var solutionDirectory = _testAssetsManager
795
796
. CopyTestAsset ( "SlnFileWithNoProjectReferencesAndUnknownProjectType" , identifier : $ "GivenDotnetSlnAdd-{ solutionCommand } { solutionExtension } ")
@@ -815,6 +816,26 @@ public void WhenPassedAProjectWithoutATypeGuidItErrors(string solutionCommand, s
815
816
. BeVisuallyEquivalentTo ( contentBefore ) ;
816
817
}
817
818
819
+ [ Theory ]
820
+ [ InlineData ( "sln" , ".sln" ) ]
821
+ [ InlineData ( "solution" , ".sln" ) ]
822
+ [ InlineData ( "sln" , ".slnx" ) ]
823
+ [ InlineData ( "solution" , ".slnx" ) ]
824
+ public void WhenPassedAProjectWithDefaultProjectGuidItPasses ( string solutionCommand , string solutionExtension )
825
+ {
826
+ var solutionDirectory = _testAssetsManager
827
+ . CopyTestAsset ( "TestAppWithSlnAndDefaultProjectType" , identifier : $ "GivenDotnetSlnAdd-{ solutionCommand } { solutionExtension } ")
828
+ . WithSource ( )
829
+ . Path ;
830
+
831
+ var cmd = new DotnetCommand ( Log )
832
+ . WithWorkingDirectory ( solutionDirectory )
833
+ . Execute ( solutionCommand , $ "App{ solutionExtension } ", "add" , "Unknown.unknownproj" ) ;
834
+
835
+ cmd . Should ( ) . Pass ( ) ;
836
+ cmd . StdErr . Should ( ) . BeEmpty ( ) ;
837
+ }
838
+
818
839
[ Theory ]
819
840
[ InlineData ( "sln" , ".sln" ) ]
820
841
[ InlineData ( "solution" , ".sln" ) ]
0 commit comments