From 306097ffe36fc047e89f1833bad3427d65424e32 Mon Sep 17 00:00:00 2001 From: tom-englert Date: Sat, 22 Dec 2018 16:40:09 +0100 Subject: [PATCH] Migrate to PackageReference, Upgrade VSIX to 14.0, Migrate to AsyncPackage --- .../FodyWeavers.xml | 4 +- .../FodyWeavers.xsd | 58 ++++++ .../ProjectConfigurationManager.Model.csproj | 171 ++++++------------ .../packages.config | 33 ---- .../FodyWeavers.xml | 2 +- .../FodyWeavers.xsd | 58 ++++++ .../ProjectConfigurationManager.View.csproj | 169 +++++------------ .../ShellView.xaml | 6 +- .../VSColorScheme.xaml | 46 ++--- .../packages.config | 36 ---- ProjectConfigurationManager/FodyWeavers.xml | 2 +- ProjectConfigurationManager/FodyWeavers.xsd | 28 +++ .../ProjectConfigurationManager.csproj | 168 ++++------------- .../ProjectConfigurationManagerPackage.cs | 21 ++- ProjectConfigurationManager/packages.config | 34 ---- .../source.extension.vsixmanifest | 8 +- 16 files changed, 326 insertions(+), 518 deletions(-) create mode 100644 ProjectConfigurationManager.Model/FodyWeavers.xsd delete mode 100644 ProjectConfigurationManager.Model/packages.config create mode 100644 ProjectConfigurationManager.View/FodyWeavers.xsd delete mode 100644 ProjectConfigurationManager.View/packages.config create mode 100644 ProjectConfigurationManager/FodyWeavers.xsd delete mode 100644 ProjectConfigurationManager/packages.config diff --git a/ProjectConfigurationManager.Model/FodyWeavers.xml b/ProjectConfigurationManager.Model/FodyWeavers.xml index bd86b4d..41951ce 100644 --- a/ProjectConfigurationManager.Model/FodyWeavers.xml +++ b/ProjectConfigurationManager.Model/FodyWeavers.xml @@ -1,8 +1,8 @@  - + - + \ No newline at end of file diff --git a/ProjectConfigurationManager.Model/FodyWeavers.xsd b/ProjectConfigurationManager.Model/FodyWeavers.xsd new file mode 100644 index 0000000..4aae7e6 --- /dev/null +++ b/ProjectConfigurationManager.Model/FodyWeavers.xsd @@ -0,0 +1,58 @@ + + + + + + + + + + + Used to control if the On_PropertyName_Changed feature is enabled. + + + + + Used to change the name of the method that fires the notify event. This is a string that accepts multiple values in a comma separated form. + + + + + Used to control if equality checks should be inserted. If false, equality checking will be disabled for the project. + + + + + Used to control if equality checks should use the Equals method resolved from the base class. + + + + + Used to control if equality checks should use the static Equals method resolved from the base class. + + + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/ProjectConfigurationManager.Model/ProjectConfigurationManager.Model.csproj b/ProjectConfigurationManager.Model/ProjectConfigurationManager.Model.csproj index fd7b102..61f54e8 100644 --- a/ProjectConfigurationManager.Model/ProjectConfigurationManager.Model.csproj +++ b/ProjectConfigurationManager.Model/ProjectConfigurationManager.Model.csproj @@ -13,13 +13,15 @@ 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 + + true full false bin\Debug\ - DEBUG;TRACE;JETBRAINS_ANNOTATIONS + DEBUG;TRACE prompt ..\CodeContracts.ruleset @@ -27,7 +29,7 @@ pdbonly true bin\Release\ - TRACE;JETBRAINS_ANNOTATIONS + TRACE prompt true ..\CodeContracts.ruleset @@ -39,93 +41,7 @@ ..\Key.snk - - False - ..\packages\VSSDK.DTE.7.0.4\lib\net20\envdte.dll - True - - - - - - ..\packages\Equatable.Fody.1.2.0.0\lib\netstandard1.0\Equatable.dll - False - - - ..\packages\JetBrains.Annotations.11.1.0\lib\net20\JetBrains.Annotations.dll - False - - - ..\packages\VSSDK.GraphModel.11.0.4\lib\net45\Microsoft.VisualStudio.GraphModel.dll - True - - - ..\packages\VSSDK.OLE.Interop.7.0.4\lib\net20\Microsoft.VisualStudio.OLE.Interop.dll - True - - - ..\packages\VSSDK.Shell.11.11.0.4\lib\net45\Microsoft.VisualStudio.Shell.11.0.dll - True - - - ..\packages\VSSDK.Shell.Immutable.10.10.0.4\lib\net40\Microsoft.VisualStudio.Shell.Immutable.10.0.dll - True - - - ..\packages\VSSDK.Shell.Immutable.11.11.0.4\lib\net45\Microsoft.VisualStudio.Shell.Immutable.11.0.dll - True - - - ..\packages\VSSDK.Shell.Interop.7.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.dll - True - - - False - ..\packages\VSSDK.Shell.Interop.10.10.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.10.0.dll - True - - - False - ..\packages\VSSDK.Shell.Interop.11.11.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.11.0.dll - True - - - ..\packages\VSSDK.Shell.Interop.8.8.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.8.0.dll - True - - - ..\packages\VSSDK.Shell.Interop.9.9.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.9.0.dll - True - - - ..\packages\VSSDK.TextManager.Interop.7.0.4\lib\net20\Microsoft.VisualStudio.TextManager.Interop.dll - True - - - ..\packages\VSSDK.TextManager.Interop.8.8.0.4\lib\net20\Microsoft.VisualStudio.TextManager.Interop.8.0.dll - True - - - ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll - True - - - ..\packages\NullGuard.Fody.1.8.0\lib\net452\NullGuard.dll - False - - - ..\packages\PropertyChanged.Fody.2.5.6\lib\net452\PropertyChanged.dll - False - - - False - ..\packages\VSSDK.DTE.7.0.4\lib\net20\stdole.dll - True - - - ..\packages\System.Collections.Immutable.1.3.0\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll - @@ -142,23 +58,7 @@ 4.0 - - ..\packages\Throttle.Fody.1.1.0.0\lib\netstandard1.0\Throttle.dll - False - - - ..\packages\TomsToolbox.Core.1.0.69\lib\net40-client\TomsToolbox.Core.dll - - - ..\packages\TomsToolbox.Desktop.1.0.69\lib\net45\TomsToolbox.Desktop.dll - - - ..\packages\TomsToolbox.ObservableCollections.1.0.69\lib\net45\TomsToolbox.ObservableCollections.dll - - - True - @@ -210,7 +110,6 @@ Properties\Key.snk - SettingsSingleFileGenerator Settings.Designer.cs @@ -230,19 +129,53 @@ PreserveNewest + + + 1.5.0 + all + + + 3.3.3 + all + + + 2.10.0 + all + + + 6.0.8 + + + 1.8.5 + + + 2.6.0 + + + 1.3.0 + + + 1.4.0 + all + + + 1.0.75 + + + 1.0.75 + + + 10.0.3 + + + 14.3.25407 + + + 14.3.26929 + + + 14.0.25030 + + - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - \ No newline at end of file diff --git a/ProjectConfigurationManager.Model/packages.config b/ProjectConfigurationManager.Model/packages.config deleted file mode 100644 index a14e5de..0000000 --- a/ProjectConfigurationManager.Model/packages.config +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ProjectConfigurationManager.View/FodyWeavers.xml b/ProjectConfigurationManager.View/FodyWeavers.xml index 4fd9e2e..0fcae46 100644 --- a/ProjectConfigurationManager.View/FodyWeavers.xml +++ b/ProjectConfigurationManager.View/FodyWeavers.xml @@ -1,5 +1,5 @@  - + diff --git a/ProjectConfigurationManager.View/FodyWeavers.xsd b/ProjectConfigurationManager.View/FodyWeavers.xsd new file mode 100644 index 0000000..2a9d92e --- /dev/null +++ b/ProjectConfigurationManager.View/FodyWeavers.xsd @@ -0,0 +1,58 @@ + + + + + + + + + + + + Used to control if the On_PropertyName_Changed feature is enabled. + + + + + Used to change the name of the method that fires the notify event. This is a string that accepts multiple values in a comma separated form. + + + + + Used to control if equality checks should be inserted. If false, equality checking will be disabled for the project. + + + + + Used to control if equality checks should use the Equals method resolved from the base class. + + + + + Used to control if equality checks should use the static Equals method resolved from the base class. + + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/ProjectConfigurationManager.View/ProjectConfigurationManager.View.csproj b/ProjectConfigurationManager.View/ProjectConfigurationManager.View.csproj index a6835e2..5d62cd3 100644 --- a/ProjectConfigurationManager.View/ProjectConfigurationManager.View.csproj +++ b/ProjectConfigurationManager.View/ProjectConfigurationManager.View.csproj @@ -13,13 +13,15 @@ 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 + + true full false bin\Debug\ - DEBUG;TRACE;JETBRAINS_ANNOTATIONS + DEBUG;TRACE prompt ..\CodeContracts.ruleset @@ -27,7 +29,7 @@ pdbonly true bin\Release\ - TRACE;JETBRAINS_ANNOTATIONS + TRACE prompt true ..\CodeContracts.ruleset @@ -39,97 +41,7 @@ ..\Key.snk - - ..\packages\AutoProperties.Fody.1.10.0.0\lib\netstandard1.0\AutoProperties.dll - False - - - ..\packages\DataGridExtensions.1.0.39\lib\net45\DataGridExtensions.dll - - - False - ..\packages\VSSDK.DTE.7.0.4\lib\net20\envdte.dll - True - - - ..\packages\JetBrains.Annotations.11.1.0\lib\net20\JetBrains.Annotations.dll - False - - - ..\packages\VSSDK.GraphModel.11.0.4\lib\net45\Microsoft.VisualStudio.GraphModel.dll - False - - - ..\packages\VSSDK.OLE.Interop.7.0.4\lib\net20\Microsoft.VisualStudio.OLE.Interop.dll - True - False - - - ..\packages\VSSDK.Shell.11.11.0.4\lib\net45\Microsoft.VisualStudio.Shell.11.0.dll - False - - - ..\packages\VSSDK.Shell.Immutable.10.10.0.4\lib\net40\Microsoft.VisualStudio.Shell.Immutable.10.0.dll - True - False - - - ..\packages\VSSDK.Shell.Immutable.11.11.0.4\lib\net45\Microsoft.VisualStudio.Shell.Immutable.11.0.dll - True - False - - - ..\packages\VSSDK.Shell.Interop.7.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.dll - True - False - - - False - ..\packages\VSSDK.Shell.Interop.10.10.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.10.0.dll - True - - - False - ..\packages\VSSDK.Shell.Interop.11.11.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.11.0.dll - True - - - ..\packages\VSSDK.Shell.Interop.8.8.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.8.0.dll - True - False - - - ..\packages\VSSDK.Shell.Interop.9.9.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.9.0.dll - True - False - - - ..\packages\VSSDK.TextManager.Interop.7.0.4\lib\net20\Microsoft.VisualStudio.TextManager.Interop.dll - True - False - - - ..\packages\VSSDK.TextManager.Interop.8.8.0.4\lib\net20\Microsoft.VisualStudio.TextManager.Interop.8.0.dll - True - False - - - ..\packages\NullGuard.Fody.1.8.0\lib\net452\NullGuard.dll - False - - - ..\packages\PropertyChanged.Fody.2.5.6\lib\net452\PropertyChanged.dll - False - - - False - ..\packages\VSSDK.DTE.7.0.4\lib\net20\stdole.dll - True - - - ..\packages\System.Collections.Immutable.1.3.0\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll - @@ -137,9 +49,6 @@ - - ..\packages\Expression.Blend.Sdk.1.0.2\lib\net45\System.Windows.Interactivity.dll - @@ -148,25 +57,6 @@ 4.0 - - ..\packages\Throttle.Fody.1.1.0.0\lib\netstandard1.0\Throttle.dll - False - - - ..\packages\TomsToolbox.Core.1.0.69\lib\net40-client\TomsToolbox.Core.dll - - - ..\packages\TomsToolbox.Desktop.1.0.69\lib\net45\TomsToolbox.Desktop.dll - - - ..\packages\TomsToolbox.ObservableCollections.1.0.69\lib\net45\TomsToolbox.ObservableCollections.dll - - - ..\packages\TomsToolbox.Wpf.1.0.69\lib\net45\TomsToolbox.Wpf.dll - - - ..\packages\TomsToolbox.Wpf.Styles.1.0.69\lib\net45\TomsToolbox.Wpf.Styles.dll - @@ -277,7 +167,6 @@ Properties\Key.snk - SettingsSingleFileGenerator Settings.Designer.cs @@ -305,14 +194,50 @@ PreserveNewest + + + 1.19.0 + + + 1.0.39 + + + 3.3.3 + runtime; build; native; contentfiles; analyzers + all + + + 2.10.0 + + + 1.8.5 + + + 2.6.0 + + + 1.3.0 + + + 1.4.0 + + + 1.0.75 + + + 10.0.3 + + + 14.3.25407 + + + 14.3.26929 + + + 14.0.25030 + + - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/ProjectConfigurationManager/ProjectConfigurationManager.csproj b/ProjectConfigurationManager/ProjectConfigurationManager.csproj index a36492c..945f2c0 100644 --- a/ProjectConfigurationManager/ProjectConfigurationManager.csproj +++ b/ProjectConfigurationManager/ProjectConfigurationManager.csproj @@ -30,7 +30,7 @@ full false bin\Debug\ - DEBUG;TRACE;JETBRAINS_ANNOTATIONS + DEBUG;TRACE prompt ..\CodeContracts.ruleset @@ -38,94 +38,13 @@ pdbonly true bin\Release\ - TRACE;JETBRAINS_ANNOTATIONS + TRACE prompt true ..\CodeContracts.ruleset - - ..\packages\DataGridExtensions.1.0.39\lib\net45\DataGridExtensions.dll - - - False - ..\packages\VSSDK.DTE.7.0.4\lib\net20\envdte.dll - True - - - ..\packages\JetBrains.Annotations.11.1.0\lib\net20\JetBrains.Annotations.dll - False - - - ..\packages\VSSDK.GraphModel.11.0.4\lib\net45\Microsoft.VisualStudio.GraphModel.dll - True - - - ..\packages\VSSDK.OLE.Interop.7.0.4\lib\net20\Microsoft.VisualStudio.OLE.Interop.dll - True - False - - - ..\packages\VSSDK.Shell.11.11.0.4\lib\net45\Microsoft.VisualStudio.Shell.11.0.dll - True - - - ..\packages\VSSDK.Shell.Immutable.10.10.0.4\lib\net40\Microsoft.VisualStudio.Shell.Immutable.10.0.dll - True - False - - - ..\packages\VSSDK.Shell.Immutable.11.11.0.4\lib\net45\Microsoft.VisualStudio.Shell.Immutable.11.0.dll - True - False - - - ..\packages\VSSDK.Shell.Interop.7.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.dll - True - False - - - False - ..\packages\VSSDK.Shell.Interop.10.10.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.10.0.dll - True - - - False - ..\packages\VSSDK.Shell.Interop.11.11.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.11.0.dll - True - - - ..\packages\VSSDK.Shell.Interop.8.8.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.8.0.dll - True - False - - - ..\packages\VSSDK.Shell.Interop.9.9.0.4\lib\net20\Microsoft.VisualStudio.Shell.Interop.9.0.dll - True - False - - - ..\packages\VSSDK.TextManager.Interop.7.0.4\lib\net20\Microsoft.VisualStudio.TextManager.Interop.dll - True - False - - - ..\packages\VSSDK.TextManager.Interop.8.8.0.4\lib\net20\Microsoft.VisualStudio.TextManager.Interop.8.0.dll - True - - - ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll - - - ..\packages\NullGuard.Fody.1.8.0\lib\net452\NullGuard.dll - False - - - False - ..\packages\VSSDK.DTE.7.0.4\lib\net20\stdole.dll - True - @@ -138,28 +57,10 @@ - - ..\packages\Expression.Blend.Sdk.1.0.2\lib\net45\System.Windows.Interactivity.dll - - - ..\packages\TomsToolbox.Core.1.0.69\lib\net40-client\TomsToolbox.Core.dll - - - ..\packages\TomsToolbox.Desktop.1.0.69\lib\net45\TomsToolbox.Desktop.dll - - - ..\packages\TomsToolbox.ObservableCollections.1.0.69\lib\net45\TomsToolbox.ObservableCollections.dll - - - ..\packages\TomsToolbox.Wpf.1.0.69\lib\net45\TomsToolbox.Wpf.dll - - - ..\packages\TomsToolbox.Wpf.Styles.1.0.69\lib\net45\TomsToolbox.Wpf.Styles.dll - @@ -211,12 +112,6 @@ Always true - - Newtonsoft.Json.dll - Always - true - - Designer @@ -256,34 +151,45 @@ - - False - Microsoft .NET Framework 4.5 %28x86 and x64%29 - true - - - False - .NET Framework 3.5 SP1 - false - + + 1.0.39 + + + 3.3.3 + runtime; build; native; contentfiles; analyzers + all + + + 2.10.0 + + + 2.1.0 + + + 6.0.8 + + + 1.8.5 + + + 1.0.75 + + + 10.0.3 + + + 14.3.25407 + + + 14.3.26929 + + + 14.0.25030 + true - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - \ No newline at end of file diff --git a/ProjectConfigurationManager/ProjectConfigurationManagerPackage.cs b/ProjectConfigurationManager/ProjectConfigurationManagerPackage.cs index f799178..437a011 100644 --- a/ProjectConfigurationManager/ProjectConfigurationManagerPackage.cs +++ b/ProjectConfigurationManager/ProjectConfigurationManagerPackage.cs @@ -5,6 +5,7 @@ using System.Diagnostics; using System.Globalization; using System.Runtime.InteropServices; + using System.Threading; using JetBrains.Annotations; @@ -24,7 +25,7 @@ /// // This attribute tells the PkgDef creation utility (CreatePkgDef.exe) that this class is // a package. - [PackageRegistration(UseManagedResourcesOnly = true)] + [PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)] // This attribute is used to register the information needed to show this package // in the Help/About dialog of Visual Studio. [InstalledProductRegistration("#110", "#112", Product.Version, IconResourceID = 400)] @@ -33,7 +34,7 @@ // This attribute registers a tool window exposed by this package. [ProvideToolWindow(typeof(MyToolWindow))] [Guid(GuidList.guidProjectConfigurationManagerPkgString)] - public sealed class ProjectConfigurationManagerPackage : Package + public sealed class ProjectConfigurationManagerPackage : AsyncPackage { /// /// This function is called when the user clicks the menu item that shows the @@ -59,17 +60,19 @@ public static void Dummy() { } - /// - /// Initialization of the package; this method is called right after the package is sited, so this is the place - /// where you can put all the initialization code that rely on services provided by VisualStudio. - /// - protected override void Initialize() + + protected override async System.Threading.Tasks.Task InitializeAsync(CancellationToken cancellationToken, [NotNull] IProgress progress) { Debug.WriteLine (string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", ToString())); - base.Initialize(); + + await base.InitializeAsync(cancellationToken, progress).ConfigureAwait(false); + + var menuCommandService = await GetServiceAsync(typeof(IMenuCommandService)); + + await JoinableTaskFactory.SwitchToMainThreadAsync(); // Add our command handlers for menu (commands must exist in the .vsct file) - if (!(GetService(typeof(IMenuCommandService)) is OleMenuCommandService mcs)) + if (!(menuCommandService is OleMenuCommandService mcs)) return; // Create the command for the tool window diff --git a/ProjectConfigurationManager/packages.config b/ProjectConfigurationManager/packages.config deleted file mode 100644 index 8294a4f..0000000 --- a/ProjectConfigurationManager/packages.config +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ProjectConfigurationManager/source.extension.vsixmanifest b/ProjectConfigurationManager/source.extension.vsixmanifest index c11845a..0d1cec3 100644 --- a/ProjectConfigurationManager/source.extension.vsixmanifest +++ b/ProjectConfigurationManager/source.extension.vsixmanifest @@ -13,12 +13,12 @@ Configuration, ConfigurationManager, Solution Configuration, Configuration Manager, Project Configuration - - - + + + - +