From 34cb20862559eed3225fb0875b01aace38cbd3b6 Mon Sep 17 00:00:00 2001 From: giy <giy@omp-system.ru> Date: Thu, 19 Jan 2023 13:19:17 +0300 Subject: [PATCH] Правки генерации и удаления moc файлов: 1) Теперь в фильтре проекта GeneratedFiles создаются подфильтры для каждой конфигурации и платформы (актуально для конфигов CODE64). 2) Исправлено добавление и удаление moc конфигураций в vcxproj и vcxproj.filter файлах проектов (в старой версии плагина с этим была проблема и как следствие - возникали ошибки сборки связанные с moc'ами). 3) Теперь при выключении сборки проекта в Solution Property -> Configuration Properties для определенной конфигурации и разрядности не будут генерироватся moc файлы. --- vstools.sln | 66 ++++++++-------- QtVsTools.Package/Package/DteEventsHandler.cs | 6 + QtVsTools.Core/QtProject.cs | 78 ++++++++++++++++-- QtVsTools.Core/Common/QtVSIPSettingsShared.cs | 2 QtVsTools.Core/HelperFunctions.cs | 29 +++++++ 5 files changed, 137 insertions(+), 44 deletions(-) diff --git a/QtVsTools.Core/Common/QtVSIPSettingsShared.cs b/QtVsTools.Core/Common/QtVSIPSettingsShared.cs index 5d86492..ec2cdb3 100644 --- a/QtVsTools.Core/Common/QtVSIPSettingsShared.cs +++ b/QtVsTools.Core/Common/QtVSIPSettingsShared.cs @@ -91,6 +91,8 @@ continue; foreach (VCFileConfiguration config in vcfile?.FileConfigurations as IVCCollection) { + if (HelperFunctions.IsConfExcludeFromSolution(config)) + continue; tool = new QtCustomBuildTool(config); if (tool == null) continue; diff --git a/QtVsTools.Core/HelperFunctions.cs b/QtVsTools.Core/HelperFunctions.cs index a07fa89..552099c 100644 --- a/QtVsTools.Core/HelperFunctions.cs +++ b/QtVsTools.Core/HelperFunctions.cs @@ -47,6 +47,8 @@ namespace QtVsTools.Core { + using System.Runtime.Remoting.Contexts; + using EnvDTE80; using QtMsBuild; public static class HelperFunctions @@ -764,6 +766,8 @@ var excluded = false; var fileConfigurations = (IVCCollection)vcfile.FileConfigurations; foreach (VCFileConfiguration config in fileConfigurations) { + if (IsConfExcludeFromSolution(config)) + continue; if (config.ExcludedFromBuild && config.MatchName(configurationName, false)) { excluded = true; break; @@ -1609,5 +1613,30 @@ path += "\\"; return string.Format("\"{0}\"", path); } + + public static bool IsConfExcludeFromSolution(VCFileConfiguration fileConfig) + { + ThreadHelper.ThrowIfNotOnUIThread(); + + var projectConfig = fileConfig.ProjectConfiguration as VCConfiguration; + var projectPlatform = projectConfig.Platform as VCPlatform; + var project = projectConfig.project as VCProject; + var projectEnv = project.Object as Project; + var dteEnv = projectEnv.DTE as DTE; + + var contextList = new List<SolutionContext>(); + foreach (SolutionConfiguration2 solutionCfg in dteEnv.Solution.SolutionBuild.SolutionConfigurations) { + if (solutionCfg.PlatformName == projectPlatform.Name && solutionCfg.Name == projectConfig.ConfigurationName) { + foreach (SolutionContext context in solutionCfg.SolutionContexts) { + if (context.ProjectName.Contains(project.Name + ".vcxproj")) { + // ������ ��������� ����� ��������� ������ ���� SolutionContext + // �������� ����� �������� �������� ����� + contextList.Add(context); + } + } + } + } + return !contextList[0].ShouldBuild; + } } } diff --git a/QtVsTools.Core/QtProject.cs b/QtVsTools.Core/QtProject.cs index a935f54..cbfb681 100644 --- a/QtVsTools.Core/QtProject.cs +++ b/QtVsTools.Core/QtProject.cs @@ -437,7 +437,8 @@ string description = "Uic'ing " + ProjectMacros.FileName + "..."; foreach (VCFileConfiguration config in (IVCCollection)file.FileConfigurations) { - + if (HelperFunctions.IsConfExcludeFromSolution(config)) + continue; switch (toolSettings) { case CustomTool.MSBuildTarget: AddUic4BuildStepMsBuild(config, description, uiFileMacro); @@ -667,6 +668,8 @@ if (hasDifferentMocFilePerPlatform && hasDifferentMocFilePerConfig) { foreach (VCFileConfiguration mocConf in (IVCCollection)mocFile.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(mocConf)) + continue; var projectCfg = mocConf.ProjectConfiguration as VCConfiguration; if (projectCfg.Name != vcConfig.Name || (IsMoccedFileIncluded(sourceFile) && !mocableIsCPP)) { @@ -680,6 +683,8 @@ } else if (hasDifferentMocFilePerPlatform) { foreach (VCFileConfiguration mocConf in (IVCCollection)mocFile.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(mocConf)) + continue; var projectCfg = mocConf.ProjectConfiguration as VCConfiguration; var mocConfPlatform = projectCfg.Platform as VCPlatform; if (projectCfg.ConfigurationName != vcConfig.ConfigurationName) @@ -698,6 +703,8 @@ } else if (hasDifferentMocFilePerConfig) { foreach (VCFileConfiguration mocConf in (IVCCollection)mocFile.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(mocConf)) + continue; var projectCfg = mocConf.ProjectConfiguration as VCConfiguration; var mocConfPlatform = projectCfg.Platform as VCPlatform; if (platformName != mocConfPlatform.Name) @@ -1039,6 +1046,8 @@ file.ItemType = QtMoc.ItemTypeName; if (HelperFunctions.IsSourceFile(file.FullPath)) { foreach (VCFileConfiguration config in (IVCCollection)file.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(config)) + continue; qtMsBuild.SetItemProperty(config, QtMoc.Property.DynamicSource, "input"); qtMsBuild.SetItemPropertyByName(config, "QtMocFileName", "%(Filename).moc"); } @@ -1066,8 +1075,11 @@ HelperFunctions.EnsureCustomBuildToolAvailable(mocFileItem); } - foreach (VCFileConfiguration config in (IVCCollection)file.FileConfigurations) + foreach (VCFileConfiguration config in (IVCCollection)file.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(config)) + continue; AddMocStepToConfiguration(sourceFile, config, toolSettings); + } } catch { throw new QtVSException(SR.GetString("QtProject_CannotAddMocStep", file.FullPath)); @@ -1161,6 +1173,8 @@ if (file == null) return false; foreach (VCFileConfiguration config in (IVCCollection)file.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(config)) + continue; var tool = HelperFunctions.GetCustomBuildTool(config); if (tool == null) return false; @@ -1408,6 +1422,8 @@ bool IsCppMocFileQtMsBuild(VCProject vcProj, VCFile vcFile, VCFile cppFile) { foreach (VCFileConfiguration fileConfig in (IVCCollection)vcFile.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(fileConfig)) + continue; string inputFile = qtMsBuild.GetPropertyValue(fileConfig, QtMoc.Property.InputFile); HelperFunctions.ExpandString(ref inputFile, fileConfig); if (HelperFunctions.PathIsRelativeTo(inputFile, cppFile.ItemName)) @@ -1707,7 +1723,16 @@ } } if (!subfilterFound) { - if (!vfilt.CanAddFilter(subfilterName)) + if (vfilt.CanAddFilter(subfilterName)) { + vfilt.AddFilter(subfilterName); + foreach (VCFilter subfilt in vfilt.Filters as IVCCollection) { + if (subfilt.Name.ToLower() == lowerSubFilterName) { + vfilt = subfilt; + break; + } + } + } + else throw new QtVSException($"Project cannot add filter {filter.Name}"); } } @@ -1759,22 +1784,47 @@ /// <param name="file">file</param> public void RemoveFileFromFilter(VCFile file, VCFilter filter) { - try { - filter.RemoveFile(file); - var fi = new FileInfo(file.FullPath); - if (fi.Exists) - fi.Delete(); - } catch { - } + + var fileName = file.FullPath; + + bool isSubFilter = false; + VCFilter subFlt = null; var subfilters = (IVCCollection)filter.Filters; for (var i = subfilters.Count; i > 0; i--) { + if (isSubFilter) + break; try { var subfilter = (VCFilter)subfilters.Item(i); - RemoveFileFromFilter(file, subfilter); + + foreach (VCFile subFile in (IVCCollection)subfilter.Files) { + isSubFilter = (subFile.FullPath.Contains(file.Name) && file.FullPath.Contains(subfilter.Name)); + if (isSubFilter) { + subFlt = subfilter; + break; + } + } + } catch { } } + + + try { + if (isSubFilter && subFlt != null) { + subFlt.RemoveFile(file); + } else { + filter.RemoveFile(file); + } + + var fi = new FileInfo(fileName); + if (fi.Exists) + fi.Delete(); + + + } catch { + } + } public void MoveFileToDeletedFolder(VCFile vcfile) @@ -2132,6 +2182,8 @@ public static void SetPCHOption(VCFile vcFile, pchOption option) { foreach (VCFileConfiguration config in vcFile.FileConfigurations as IVCCollection) { + if (HelperFunctions.IsConfExcludeFromSolution(config)) + continue; var compiler = CompilerToolWrapper.Create(config); compiler.SetUsePrecompiledHeader(option); } @@ -2140,6 +2192,8 @@ private static VCFileConfiguration GetVCFileConfigurationByName(VCFile file, string configName) { foreach (VCFileConfiguration cfg in (IVCCollection)file.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(cfg)) + continue; if (cfg.Name == configName) return cfg; } @@ -2284,6 +2338,8 @@ mocCmdChecker = new MocCmdChecker(); foreach (VCFileConfiguration config in (IVCCollection)vcfile.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(config)) + continue; try { string commandLine = ""; VCCustomBuildTool tool = null; diff --git a/QtVsTools.Package/Package/DteEventsHandler.cs b/QtVsTools.Package/Package/DteEventsHandler.cs index df8bfc4..2351596 100644 --- a/QtVsTools.Package/Package/DteEventsHandler.cs +++ b/QtVsTools.Package/Package/DteEventsHandler.cs @@ -301,6 +301,8 @@ foreach (VCFile fileInFilter in (IVCCollection)generatedFiles.Files) { if (fileInFilter.Name == moccedFileName) { foreach (VCFileConfiguration config in (IVCCollection)fileInFilter.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(config)) + continue; var exclude = true; var vcConfig = config.ProjectConfiguration as VCConfiguration; if (hasDifferentMocFilesPerConfig && hasDifferentMocFilesPerPlatform) { @@ -328,6 +330,8 @@ foreach (VCFile f in (IVCCollection)filt.Files) { if (f.Name == moccedFileName) { foreach (VCFileConfiguration config in (IVCCollection)f.FileConfigurations) { + if (HelperFunctions.IsConfExcludeFromSolution(config)) + continue; var vcConfig = config.ProjectConfiguration as VCConfiguration; var filterToLookFor = string.Empty; if (hasDifferentMocFilesPerConfig) @@ -460,6 +464,8 @@ if (filter != null) { foreach (VCFile file in filter.Files as IVCCollection) { foreach (VCFileConfiguration config in file.FileConfigurations as IVCCollection) { + if (HelperFunctions.IsConfExcludeFromSolution(config)) + continue; var tool = new QtCustomBuildTool(config); var commandLine = tool.CommandLine; if (!string.IsNullOrEmpty(commandLine) && commandLine.Contains("moc.exe")) { diff --git a/vstools.sln b/vstools.sln index b69cbcd..76ebd46 100644 --- a/vstools.sln +++ b/vstools.sln @@ -1,7 +1,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31717.71 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.1972 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QtVsTools.Package", "QtVsTools.Package\QtVsTools.Package.csproj", "{671C3821-7BD9-4C16-9A8D-EC1470EDBC9B}" EndProject @@ -390,20 +390,20 @@ {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Debug|Any CPU.Build.0 = Debug|Any CPU {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Debug|x64.ActiveCfg = Debug|Any CPU {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Debug|x64.Build.0 = Debug|Any CPU - {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Debug|x86.ActiveCfg = Debug|x86 - {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Debug|x86.Build.0 = Debug|x86 + {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Debug|x86.ActiveCfg = Debug|Any CPU + {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Debug|x86.Build.0 = Debug|Any CPU {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Release|Any CPU.ActiveCfg = Release|Any CPU {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Release|Any CPU.Build.0 = Release|Any CPU {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Release|x64.ActiveCfg = Release|Any CPU {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Release|x64.Build.0 = Release|Any CPU - {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Release|x86.ActiveCfg = Release|x86 - {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Release|x86.Build.0 = Release|x86 + {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Release|x86.ActiveCfg = Release|Any CPU + {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Release|x86.Build.0 = Release|Any CPU {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Tests|Any CPU.ActiveCfg = Debug|Any CPU {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Tests|Any CPU.Build.0 = Debug|Any CPU {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Tests|x64.ActiveCfg = Debug|Any CPU {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Tests|x64.Build.0 = Debug|Any CPU - {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Tests|x86.ActiveCfg = Debug|x86 - {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Tests|x86.Build.0 = Debug|x86 + {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Tests|x86.ActiveCfg = Release|Any CPU + {4981AAE8-9AC7-4758-87EA-FB2397D6C404}.Tests|x86.Build.0 = Release|Any CPU {4833E4C7-FFFF-4DA5-A7A5-36C6C3840F16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4833E4C7-FFFF-4DA5-A7A5-36C6C3840F16}.Debug|Any CPU.Build.0 = Debug|Any CPU {4833E4C7-FFFF-4DA5-A7A5-36C6C3840F16}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -458,6 +458,24 @@ {8AE9D385-A379-4F5F-A703-3DF643DA6742}.Tests|x64.Build.0 = Release|Any CPU {8AE9D385-A379-4F5F-A703-3DF643DA6742}.Tests|x86.ActiveCfg = Release|Any CPU {8AE9D385-A379-4F5F-A703-3DF643DA6742}.Tests|x86.Build.0 = Release|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|Any CPU.Build.0 = Debug|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|x64.ActiveCfg = Debug|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|x64.Build.0 = Debug|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|x86.ActiveCfg = Debug|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|x86.Build.0 = Debug|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Release|Any CPU.ActiveCfg = Release|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Release|Any CPU.Build.0 = Release|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Release|x64.ActiveCfg = Release|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Release|x64.Build.0 = Release|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Release|x86.ActiveCfg = Release|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Release|x86.Build.0 = Release|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|Any CPU.ActiveCfg = Debug|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|Any CPU.Build.0 = Debug|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|x64.ActiveCfg = Debug|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|x64.Build.0 = Debug|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|x86.ActiveCfg = Release|Any CPU + {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|x86.Build.0 = Release|Any CPU {40ADFD6A-64EA-4C77-9D4B-3A91D6AB76B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {40ADFD6A-64EA-4C77-9D4B-3A91D6AB76B4}.Debug|Any CPU.Build.0 = Debug|Any CPU {40ADFD6A-64EA-4C77-9D4B-3A91D6AB76B4}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -480,20 +498,20 @@ {020422DA-33AB-4495-A439-7DAC2690795C}.Debug|Any CPU.Build.0 = Debug|Any CPU {020422DA-33AB-4495-A439-7DAC2690795C}.Debug|x64.ActiveCfg = Debug|Any CPU {020422DA-33AB-4495-A439-7DAC2690795C}.Debug|x64.Build.0 = Debug|Any CPU - {020422DA-33AB-4495-A439-7DAC2690795C}.Debug|x86.ActiveCfg = Debug|x86 - {020422DA-33AB-4495-A439-7DAC2690795C}.Debug|x86.Build.0 = Debug|x86 + {020422DA-33AB-4495-A439-7DAC2690795C}.Debug|x86.ActiveCfg = Debug|Any CPU + {020422DA-33AB-4495-A439-7DAC2690795C}.Debug|x86.Build.0 = Debug|Any CPU {020422DA-33AB-4495-A439-7DAC2690795C}.Release|Any CPU.ActiveCfg = Release|Any CPU {020422DA-33AB-4495-A439-7DAC2690795C}.Release|Any CPU.Build.0 = Release|Any CPU {020422DA-33AB-4495-A439-7DAC2690795C}.Release|x64.ActiveCfg = Release|Any CPU {020422DA-33AB-4495-A439-7DAC2690795C}.Release|x64.Build.0 = Release|Any CPU - {020422DA-33AB-4495-A439-7DAC2690795C}.Release|x86.ActiveCfg = Release|x86 - {020422DA-33AB-4495-A439-7DAC2690795C}.Release|x86.Build.0 = Release|x86 + {020422DA-33AB-4495-A439-7DAC2690795C}.Release|x86.ActiveCfg = Release|Any CPU + {020422DA-33AB-4495-A439-7DAC2690795C}.Release|x86.Build.0 = Release|Any CPU {020422DA-33AB-4495-A439-7DAC2690795C}.Tests|Any CPU.ActiveCfg = Debug|Any CPU {020422DA-33AB-4495-A439-7DAC2690795C}.Tests|Any CPU.Build.0 = Debug|Any CPU {020422DA-33AB-4495-A439-7DAC2690795C}.Tests|x64.ActiveCfg = Debug|Any CPU {020422DA-33AB-4495-A439-7DAC2690795C}.Tests|x64.Build.0 = Debug|Any CPU - {020422DA-33AB-4495-A439-7DAC2690795C}.Tests|x86.ActiveCfg = Debug|x86 - {020422DA-33AB-4495-A439-7DAC2690795C}.Tests|x86.Build.0 = Debug|x86 + {020422DA-33AB-4495-A439-7DAC2690795C}.Tests|x86.ActiveCfg = Release|Any CPU + {020422DA-33AB-4495-A439-7DAC2690795C}.Tests|x86.Build.0 = Release|Any CPU {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Any CPU.ActiveCfg = Debug|Win32 {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Any CPU.Build.0 = Debug|Win32 {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64 @@ -617,24 +635,6 @@ {E809DDE3-AE76-4F7A-8DC5-775AC4900138}.Tests|x64.Build.0 = Release|Any CPU {E809DDE3-AE76-4F7A-8DC5-775AC4900138}.Tests|x86.ActiveCfg = Release|Any CPU {E809DDE3-AE76-4F7A-8DC5-775AC4900138}.Tests|x86.Build.0 = Release|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|Any CPU.Build.0 = Debug|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|x64.ActiveCfg = Debug|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|x64.Build.0 = Debug|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|x86.ActiveCfg = Debug|x86 - {202F4A6D-77CD-4992-AA53-01B585463287}.Debug|x86.Build.0 = Debug|x86 - {202F4A6D-77CD-4992-AA53-01B585463287}.Release|Any CPU.ActiveCfg = Release|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Release|Any CPU.Build.0 = Release|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Release|x64.ActiveCfg = Release|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Release|x64.Build.0 = Release|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Release|x86.ActiveCfg = Release|x86 - {202F4A6D-77CD-4992-AA53-01B585463287}.Release|x86.Build.0 = Release|x86 - {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|Any CPU.ActiveCfg = Debug|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|Any CPU.Build.0 = Debug|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|x64.ActiveCfg = Debug|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|x64.Build.0 = Debug|Any CPU - {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|x86.ActiveCfg = Debug|x86 - {202F4A6D-77CD-4992-AA53-01B585463287}.Tests|x86.Build.0 = Debug|x86 {4B8FC08C-4901-45D4-BC00-C0C461292FF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4B8FC08C-4901-45D4-BC00-C0C461292FF2}.Debug|Any CPU.Build.0 = Debug|Any CPU {4B8FC08C-4901-45D4-BC00-C0C461292FF2}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -684,6 +684,7 @@ {4833E4C7-FFFF-4DA5-A7A5-36C6C3840F16} = {DD307619-BF80-4E5D-AE54-196057187702} {BDA1CD69-624B-4D9D-9B88-ACBEB14AC471} = {A7918293-56E9-465A-AE1C-0724576ADD66} {8AE9D385-A379-4F5F-A703-3DF643DA6742} = {DD307619-BF80-4E5D-AE54-196057187702} + {202F4A6D-77CD-4992-AA53-01B585463287} = {A7918293-56E9-465A-AE1C-0724576ADD66} {40ADFD6A-64EA-4C77-9D4B-3A91D6AB76B4} = {A7918293-56E9-465A-AE1C-0724576ADD66} {020422DA-33AB-4495-A439-7DAC2690795C} = {A7918293-56E9-465A-AE1C-0724576ADD66} {A7918293-56E9-465A-AE1C-0724576ADD66} = {9D9290B2-9E87-46EA-84EA-02836F699BB8} @@ -698,7 +699,6 @@ {A5320606-37B8-4F15-97E2-16314109CAF9} = {D6FB29A4-8921-46F5-B170-B15538AB4D69} {12857847-9877-466C-B056-DD286A219093} = {D6FB29A4-8921-46F5-B170-B15538AB4D69} {E809DDE3-AE76-4F7A-8DC5-775AC4900138} = {D6FB29A4-8921-46F5-B170-B15538AB4D69} - {202F4A6D-77CD-4992-AA53-01B585463287} = {A7918293-56E9-465A-AE1C-0724576ADD66} {4B8FC08C-4901-45D4-BC00-C0C461292FF2} = {D6FB29A4-8921-46F5-B170-B15538AB4D69} {AFD33401-2F15-4E72-AB35-42C3EE12E897} = {D6FB29A4-8921-46F5-B170-B15538AB4D69} EndGlobalSection -- Gitblit v1.9.1