diff --git a/eng/imports/RepoLayout.props b/eng/imports/RepoLayout.props index ad4c4e19fde..66b70d98502 100644 --- a/eng/imports/RepoLayout.props +++ b/eng/imports/RepoLayout.props @@ -18,6 +18,7 @@ $(VisualStudioSetupOutputPath)Insertion\ $(ArtifactsConfigurationDir)VSSetup.obj\ $(VisualStudioSetupOutputPath)Rules\ + $(RepoRoot)setup\ \ No newline at end of file diff --git a/setup/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles/CommonFiles.swr b/setup/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles/CommonFiles.swr index c858a5d152a..349bdcbabd7 100644 --- a/setup/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles/CommonFiles.swr +++ b/setup/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles/CommonFiles.swr @@ -657,3 +657,6 @@ folder "InstallDir:MSBuild\Microsoft\VisualStudio\Managed\zh-Hant" file source="$(VisualStudioXamlRulesDir)zh-Hant\ResolvedProjectReference.xaml" file source="$(VisualStudioXamlRulesDir)zh-Hant\ResolvedSdkReference.xaml" file source="$(VisualStudioXamlRulesDir)zh-Hant\SdkReference.xaml" + + folder "Extensions\Microsoft\ManagedProjectSystem\UnifiedSettings" + file source="$(VisualStudioExtensionSetupDir)\ProjectSystemSetup\UnifiedSettings\ManagedProjectSystem.registration.json" diff --git a/setup/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles.swixproj b/setup/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles.swixproj index e6209cee5b3..985065aed4b 100644 --- a/setup/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles.swixproj +++ b/setup/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles/Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles.swixproj @@ -6,7 +6,7 @@ net472 - $(PackagePreprocessorDefinitions);VisualStudioXamlRulesDir=$(VisualStudioXamlRulesDir) + $(PackagePreprocessorDefinitions);VisualStudioXamlRulesDir=$(VisualStudioXamlRulesDir);VisualStudioExtensionSetupDir=$(VisualStudioExtensionSetupDir) diff --git a/setup/ProjectSystemSetup/ProjectSystemSetup.csproj b/setup/ProjectSystemSetup/ProjectSystemSetup.csproj index 849fe48ca5a..8bfc0729ffd 100644 --- a/setup/ProjectSystemSetup/ProjectSystemSetup.csproj +++ b/setup/ProjectSystemSetup/ProjectSystemSetup.csproj @@ -27,6 +27,10 @@ + + true + + BuiltProjectOutputGroup;GetCopyToOutputDirectoryItems;SatelliteDllsProjectOutputGroup;PkgdefProjectOutputGroup diff --git a/setup/ProjectSystemSetup/UnifiedSettings/ManagedProjectSystem.registration.json b/setup/ProjectSystemSetup/UnifiedSettings/ManagedProjectSystem.registration.json new file mode 100644 index 00000000000..fbcaac27d73 --- /dev/null +++ b/setup/ProjectSystemSetup/UnifiedSettings/ManagedProjectSystem.registration.json @@ -0,0 +1,111 @@ +{ + "properties": { + "projectsAndSolutions.sdkStyleProjects.fastUpToDateCheck.enabled": { + "type": "boolean", + "title": "@Setting_FastUpToDateCheck_Enabled_Title;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "default": true, + "requiresRestart": false, + "migration": { + "pass": { + "input": { + "store": "SettingsManager", + "path": "ManagedProjectSystem\\FastUpToDateCheckEnabled" + } + } + } + }, + "projectsAndSolutions.sdkStyleProjects.fastUpToDateCheck.loggingLevel": { + "type": "string", + "title": "@Setting_FastUpToDateCheck_LoggingLevel_Title;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "default": "none", + "enum": [ + "none", + "minimal", + "info", + "verbose" + ], + "enumItemLabels": [ + "@Setting_FastUpToDateCheck_LoggingLevel_None;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "@Setting_FastUpToDateCheck_LoggingLevel_Minimal;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "@Setting_FastUpToDateCheck_LoggingLevel_Info;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "@Setting_FastUpToDateCheck_LoggingLevel_Verbose;{860A27C0-B665-47F3-BC12-637E16A1050A}" + ], + "requiresRestart": false, + "migration": { + "enumIntegerToString": { + "input": { + "store": "SettingsManager", + "path": "ManagedProjectSystem\\FastUpToDateLogLevel" + }, + "map": [ + { + "result": "none", + "match": 0 + }, + { + "result": "minimal", + "match": 1 + }, + { + "result": "info", + "match": 2 + }, + { + "result": "verbose", + "match": 3 + } + ] + } + } + }, + "projectsAndSolutions.sdkStyleProjects.fileNestingSettings.ignoreSolutionAndProjectSettings": { + "type": "boolean", + "title": "@Setting_FileNesting_IgnoreSolutionAndProjectSettings_Title;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "default": false, + "requiresRestart": false, + "migration": { + "pass": { + "input": { + "store": "SettingsManager", + "path": "Cps.NestingIgnoreSolutionAndProjectProfiles" + } + } + } + }, + "projectsAndSolutions.sdkStyleProjects.multiTargetingSettings.preferSingleTargetBuilds": { + "type": "boolean", + "title": "@Setting_FileNesting_PreferSingleTargetBuilds_Title;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "description": "@Setting_FileNesting_PreferSingleTargetBuilds_Description;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "default": false, + "requiresRestart": false, + "migration": { + "pass": { + "input": { + "store": "SettingsManager", + "path": "ManagedProjectSystem\\PreferSingleTargetBuilds" + } + } + } + } + }, + + "categories": { + "projectsAndSolutions.sdkStyleProjects": { + "title": "@Settings_Category_SdkStyleProjects;{860A27C0-B665-47F3-BC12-637E16A1050A}" + }, + "projectsAndSolutions.sdkStyleProjects.fastUpToDateCheck": { + "title": "@Settings_Category_FastUpToDateCheck;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "order": 1, + "additionalKeywords": [ "futd", "up-to-date", "build" ] + }, + "projectsAndSolutions.sdkStyleProjects.fileNestingSettings": { + "title": "@Settings_Category_FileNestingSettings;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "order": 2 + }, + "projectsAndSolutions.sdkStyleProjects.multiTargetingSettings": { + "title": "@Settings_Category_MultiTargetingSettings;{860A27C0-B665-47F3-BC12-637E16A1050A}", + "order": 3, + "additionalKeywords": [ "build" ] + } + } + } \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/VSPackage.resx b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/VSPackage.resx index 3cff6be6ec6..f3a7de8c9b5 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/VSPackage.resx +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/VSPackage.resx @@ -168,4 +168,43 @@ .NET Core 2015 Project Files (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + + + Logging Level + + + None + + + Minimal + + + Info + + + Verbose + + + Ignore solution and project settings + + + Prefer single-target builds when starting a project + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + SDK-style projects + + + Up to date checks + + + File nesting settings + + + Multi-targeting settings + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.cs.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.cs.xlf index 21a3750adcb..35b78a3ee5a 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.cs.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.cs.xlf @@ -87,6 +87,71 @@ Soubory projektu .NET Core 2015 (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.de.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.de.xlf index 7b7dc296644..d11c14b8bbb 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.de.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.de.xlf @@ -87,6 +87,71 @@ .NET Core 2015-Projektdateien (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.es.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.es.xlf index 323c9417658..01acaa66173 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.es.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.es.xlf @@ -87,6 +87,71 @@ Archivos de proyecto de .NET Core 2015 (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.fr.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.fr.xlf index dde7cbc9176..cdf0aab5fb2 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.fr.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.fr.xlf @@ -87,6 +87,71 @@ Fichiers projet .NET Core 2015 (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.it.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.it.xlf index 4ab606abeed..7258668b6c4 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.it.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.it.xlf @@ -87,6 +87,71 @@ File di progetto .NET Core 2015 (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ja.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ja.xlf index 26db89daa61..716784cf3a8 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ja.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ja.xlf @@ -87,6 +87,71 @@ .NET Core 2015 プロジェクト ファイル (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ko.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ko.xlf index 120b8f102e7..495ad8bf5e6 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ko.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ko.xlf @@ -87,6 +87,71 @@ .NET Core 2015 프로젝트 파일(*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.pl.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.pl.xlf index 83e8d05e775..8b7e8e66672 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.pl.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.pl.xlf @@ -87,6 +87,71 @@ Pliki projektu .NET Core 2015 (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.pt-BR.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.pt-BR.xlf index 2385c0e287a..feb9a89a96c 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.pt-BR.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.pt-BR.xlf @@ -87,6 +87,71 @@ Arquivos de Projeto do .NET Core 2015 (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ru.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ru.xlf index 2e209942580..984429495c8 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ru.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.ru.xlf @@ -87,6 +87,71 @@ Файлы проектов .NET Core 2015 (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.tr.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.tr.xlf index b374b5aad4c..bef00b68a79 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.tr.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.tr.xlf @@ -87,6 +87,71 @@ .NET Core 2015 Proje Dosyaları (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.zh-Hans.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.zh-Hans.xlf index 9aeedddb74a..94f87612b03 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.zh-Hans.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.zh-Hans.xlf @@ -87,6 +87,71 @@ .NET Core 2015 项目文件(*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.zh-Hant.xlf b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.zh-Hant.xlf index 00c15ba728b..997d3daf92f 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.zh-Hant.xlf +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/xlf/VSPackage.zh-Hant.xlf @@ -87,6 +87,71 @@ .NET Core 2015 專案檔 (*.xproj);*.xproj + + Don't call MSBuild if a project appears to be up to date + Don't call MSBuild if a project appears to be up to date + + + + Info + Info + + + + Minimal + Minimal + + + + None + None + + + + Logging Level + Logging Level + + + + Verbose + Verbose + + + + Ignore solution and project settings + Ignore solution and project settings + + + + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + When starting a project that targets multiple frameworks the build time can be reduced by building only a single one. + + + + Prefer single-target builds when starting a project + Prefer single-target builds when starting a project + + + + Up to date checks + Up to date checks + + + + File nesting settings + File nesting settings + + + + Multi-targeting settings + Multi-targeting settings + + + + SDK-style projects + SDK-style projects + + \ No newline at end of file diff --git a/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Setup/PackageContentTests.cs b/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Setup/PackageContentTests.cs index 164969eb8d1..9b9c83018bf 100644 --- a/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Setup/PackageContentTests.cs +++ b/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Setup/PackageContentTests.cs @@ -12,13 +12,14 @@ public sealed class PackageContentTests { // These files are only added as part of signing. private const string DigitalSignature = "package/services/digital-signature"; + private const string SettingsRegistrationFileSuffix = "ManagedProjectSystem.registration.json"; private const string Rels = "_rels/.rels"; [Fact] public Task ProjectSystem() { IEnumerable files = GetPackageContents("ProjectSystem.vsix"); - VerifierSettings.ScrubLinesContaining(DigitalSignature, Rels); + VerifierSettings.ScrubLinesContaining(DigitalSignature, Rels, SettingsRegistrationFileSuffix); return Verifier.Verify(files); } @@ -26,7 +27,7 @@ public Task ProjectSystem() public Task VisualStudioEditorsSetup() { IEnumerable files = GetPackageContents("VisualStudioEditorsSetup.vsix"); - VerifierSettings.ScrubLinesContaining(DigitalSignature, Rels); + VerifierSettings.ScrubLinesContaining(DigitalSignature, Rels, SettingsRegistrationFileSuffix); return Verifier.Verify(files); } @@ -35,6 +36,7 @@ public Task CommonFiles() { IEnumerable files = GetPackageContents("Microsoft.VisualStudio.ProjectSystem.Managed.CommonFiles.vsix"); VerifierSettings.ScrubLinesContaining(DigitalSignature); + VerifierSettings.ScrubLinesContaining(SettingsRegistrationFileSuffix); // manifest.json is the last line for non-signed builds. // It will not contain a comma in this situation, so we need special logic for that. VerifierSettings.ScrubLinesWithReplace(s => s.EndsWith("manifest.json") ? " manifest.json," : s); diff --git a/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Setup/SwrTests.cs b/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Setup/SwrTests.cs index ed47b5f8e06..727d2c8f3eb 100644 --- a/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Setup/SwrTests.cs +++ b/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Setup/SwrTests.cs @@ -15,6 +15,9 @@ public sealed class SwrTests private readonly ITestOutputHelper _output; + private const string _xamlFolderPrefix = @"InstallDir:MSBuild\Microsoft\VisualStudio\Managed"; + private const string _xamlFilePrefix = @"$(VisualStudioXamlRulesDir)"; + public SwrTests(ITestOutputHelper output) => _output = output; [Fact] @@ -86,16 +89,10 @@ public void CommonFiles_ContainsAllXamlFiles() static (string Culture, string File) ParseSwrFile((string Folder, string File) item) { - const string folderPrefix = @"InstallDir:MSBuild\Microsoft\VisualStudio\Managed"; - const string filePrefix = @"$(VisualStudioXamlRulesDir)"; - - Assert.StartsWith(folderPrefix, item.Folder); - Assert.StartsWith(filePrefix, item.File); - - var culture = item.Folder.Substring(folderPrefix.Length).TrimStart('\\'); + var culture = item.Folder.Substring(_xamlFolderPrefix.Length).TrimStart('\\'); var fileName = culture.Length == 0 - ? item.File.Substring(filePrefix.Length) - : item.File.Substring(filePrefix.Length + culture.Length + 1); + ? item.File.Substring(_xamlFilePrefix.Length) + : item.File.Substring(_xamlFilePrefix.Length + culture.Length + 1); return (culture, fileName); } @@ -146,7 +143,11 @@ public void CommonFiles_ContainsAllXamlFiles() if (folder is null) throw new FileFormatException("'file' entry appears before a 'folder' entry."); var file = fileMatch.Groups["path"].Value; - yield return (folder, file); + + if (folder.StartsWith(_xamlFolderPrefix) && file.StartsWith(_xamlFilePrefix)) + { + yield return (folder, file); + } } } }