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