protected override string UnitTestProjectTemplatePath(Project sourceProject) { string templateName; var projectLanguage = VisualStudioHelper.GetProjectLanguage(sourceProject); var isCSharp = projectLanguage == "CSharp"; var projectTypeGuids = sourceProject.ProjectTypeGuids(serviceProvider).ToList(); if (projectTypeGuids.Contains(GUID_WindowsStore81)) { templateName = isCSharp ? "Microsoft.CS.WinRT.UnitTestLibrary" : "Microsoft.VisualBasic.WinRT.UnitTestLibrary"; } else if (isCSharp && projectTypeGuids.Contains(GUID_WindowsPhoneApp81)) // No VB template for WPA81, have to fall back to a class library { templateName = "Microsoft.CS.WindowsPhoneApp.UnitTestApp"; } else if (projectTypeGuids.Contains(GUID_UniversalWindows)) { templateName = isCSharp ? "Microsoft.CSharp.UAP.UnitTestProject" : "Microsoft.VisualBasic.UAP.UnitTestProject"; } else { templateName = isCSharp ? "Microsoft.CSharp.ClassLibrary" : "Microsoft.VisualBasic.Windows.ClassLibrary"; } return(solution.GetProjectTemplate(templateName, projectLanguage)); }