diff --git a/src/VsExtension2022/VsExtension2022.csproj b/src/VsExtension2022/VsExtension2022.csproj
index d80aada..b8f5c5d 100644
--- a/src/VsExtension2022/VsExtension2022.csproj
+++ b/src/VsExtension2022/VsExtension2022.csproj
@@ -359,8 +359,9 @@
4.5.0
-
- 1.1.6.1
+
+ none
+ none
12.0.4
diff --git a/src/VsExtension2022/envdte-upgrade/TemplateBuilder-result.lhqres b/src/VsExtension2022/envdte-upgrade/TemplateBuilder-result.lhqres
new file mode 100644
index 0000000..f7c5c6a
--- /dev/null
+++ b/src/VsExtension2022/envdte-upgrade/TemplateBuilder-result.lhqres
@@ -0,0 +1,2032 @@
+
+// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
+// Copyright (c) Microsoft Corporation. All rights reserved.
+
+
+
+// Metadata version: v4.0.30319
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
+ .ver 4:0:0:0
+}
+.assembly extern Microsoft.VisualStudio.TemplateWizardInterface
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
+ .ver 8:0:0:0
+}
+.assembly extern EnvDTE
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
+ .ver 8:0:0:0
+}
+.assembly extern Microsoft.Build
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
+ .ver 4:0:0:0
+}
+.assembly extern NuGet.Core
+{
+ .publickeytoken = (31 BF 38 56 AD 36 4E 35 ) // 1.8V.6N5
+ .ver 2:11:1:812
+}
+.assembly extern EnvDTE100
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
+ .ver 10:0:0:0
+}
+.assembly extern EnvDTE80
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
+ .ver 8:0:0:0
+}
+.assembly extern System
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
+ .ver 4:0:0:0
+}
+.assembly extern System.Core
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
+ .ver 4:0:0:0
+}
+.assembly extern 'Microsoft.VisualStudio.Shell.14.0'
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
+ .ver 14:0:0:0
+}
+.assembly TemplateBuilder
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
+
+ // --- The following custom attribute is added automatically, do not uncomment -------
+ // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 02 00 00 00 00 00 )
+
+ .custom instance void [mscorlib]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 0F 54 65 6D 70 6C 61 74 65 42 75 69 6C 64 // ...TemplateBuild
+ 65 72 00 00 ) // er..
+ .custom instance void [mscorlib]System.Reflection.AssemblyDescriptionAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyConfigurationAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyProductAttribute::.ctor(string) = ( 01 00 0F 54 65 6D 70 6C 61 74 65 42 75 69 6C 64 // ...TemplateBuild
+ 65 72 00 00 ) // er..
+ .custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(string) = ( 01 00 12 43 6F 70 79 72 69 67 68 74 20 C2 A9 20 // ...Copyright ..
+ 20 32 30 31 33 00 00 ) // 2013..
+ .custom instance void [mscorlib]System.Reflection.AssemblyTrademarkAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.InteropServices.ComVisibleAttribute::.ctor(bool) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = ( 01 00 24 34 31 64 66 65 31 62 32 2D 63 38 65 64 // ..$41dfe1b2-c8ed
+ 2D 34 66 62 36 2D 38 61 32 64 2D 63 37 36 34 65 // -4fb6-8a2d-c764e
+ 39 61 30 34 64 33 63 00 00 ) // 9a04d3c..
+ .custom instance void [mscorlib]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = ( 01 00 07 31 2E 32 2E 30 2E 30 00 00 ) // ...1.2.0.0..
+ .custom instance void [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string) = ( 01 00 1A 2E 4E 45 54 46 72 61 6D 65 77 6F 72 6B // ....NETFramework
+ 2C 56 65 72 73 69 6F 6E 3D 76 34 2E 35 01 00 54 // ,Version=v4.5..T
+ 0E 14 46 72 61 6D 65 77 6F 72 6B 44 69 73 70 6C // ..FrameworkDispl
+ 61 79 4E 61 6D 65 12 2E 4E 45 54 20 46 72 61 6D // ayName..NET Fram
+ 65 77 6F 72 6B 20 34 2E 35 ) // ework 4.5
+ .hash algorithm 0x00008004
+ .ver 1:2:0:0
+}
+.module TemplateBuilder.dll
+// MVID: {0F08DDBE-060D-45DE-AC88-9B2EDF836267}
+.imagebase 0x10000000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003 // WINDOWS_CUI
+.corflags 0x00000001 // ILONLY
+// Image base: 0x069E0000
+
+
+// =============== CLASS MEMBERS DECLARATION ===================
+
+.class public auto ansi beforefieldinit TemplateBuilder.ChildWizard
+ extends [mscorlib]System.Object
+ implements [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.IWizard
+{
+ .method public hidebysig newslot virtual final
+ instance void RunStarted(object automationObject,
+ class [mscorlib]System.Collections.Generic.Dictionary`2 replacementsDictionary,
+ valuetype [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.WizardRunKind runKind,
+ object[] customParams) cil managed
+ {
+ // Code size 88 (0x58)
+ .maxstack 4
+ IL_0000: ldsfld class [mscorlib]System.Collections.Generic.Dictionary`2 TemplateBuilder.RootWizard::GlobalDictionary
+ IL_0005: ldstr "$saferootprojectname$"
+ IL_000a: callvirt instance bool class [mscorlib]System.Collections.Generic.Dictionary`2::ContainsKey(!0)
+ IL_000f: brfalse.s IL_002c
+
+ IL_0011: ldarg.2
+ IL_0012: ldstr "$saferootprojectname$"
+ IL_0017: ldsfld class [mscorlib]System.Collections.Generic.Dictionary`2 TemplateBuilder.RootWizard::GlobalDictionary
+ IL_001c: ldstr "$saferootprojectname$"
+ IL_0021: callvirt instance !1 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Item(!0)
+ IL_0026: callvirt instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0,
+ !1)
+ IL_002b: ret
+
+ IL_002c: ldsfld class [mscorlib]System.Collections.Generic.Dictionary`2 TemplateBuilder.SolutionWizard::GlobalDictionary
+ IL_0031: ldstr "$saferootprojectname$"
+ IL_0036: callvirt instance bool class [mscorlib]System.Collections.Generic.Dictionary`2::ContainsKey(!0)
+ IL_003b: brfalse.s IL_0057
+
+ IL_003d: ldarg.2
+ IL_003e: ldstr "$saferootprojectname$"
+ IL_0043: ldsfld class [mscorlib]System.Collections.Generic.Dictionary`2 TemplateBuilder.SolutionWizard::GlobalDictionary
+ IL_0048: ldstr "$saferootprojectname$"
+ IL_004d: callvirt instance !1 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Item(!0)
+ IL_0052: callvirt instance void class [mscorlib]System.Collections.Generic.Dictionary`2::Add(!0,
+ !1)
+ IL_0057: ret
+ } // end of method ChildWizard::RunStarted
+
+ .method public hidebysig newslot virtual final
+ instance bool ShouldAddProjectItem(string filePath) cil managed
+ {
+ // Code size 2 (0x2)
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: ret
+ } // end of method ChildWizard::ShouldAddProjectItem
+
+ .method public hidebysig newslot virtual final
+ instance void RunFinished() cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method ChildWizard::RunFinished
+
+ .method public hidebysig newslot virtual final
+ instance void BeforeOpeningFile(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method ChildWizard::BeforeOpeningFile
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectItemFinishedGenerating(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method ChildWizard::ProjectItemFinishedGenerating
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectFinishedGenerating(class [EnvDTE]EnvDTE.Project project) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method ChildWizard::ProjectFinishedGenerating
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method ChildWizard::.ctor
+
+} // end of class TemplateBuilder.ChildWizard
+
+.class public auto ansi beforefieldinit TemplateBuilder.ReloadProjectWizard
+ extends [mscorlib]System.Object
+ implements [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.IWizard
+{
+ .method public hidebysig newslot virtual final
+ instance void BeforeOpeningFile(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method ReloadProjectWizard::BeforeOpeningFile
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectFinishedGenerating(class [EnvDTE]EnvDTE.Project project) cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: call void TemplateBuilder.Helpers.ProjectHelper::ReloadProject(class [EnvDTE]EnvDTE.Project)
+ IL_0006: ret
+ } // end of method ReloadProjectWizard::ProjectFinishedGenerating
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectItemFinishedGenerating(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method ReloadProjectWizard::ProjectItemFinishedGenerating
+
+ .method public hidebysig newslot virtual final
+ instance void RunFinished() cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method ReloadProjectWizard::RunFinished
+
+ .method public hidebysig newslot virtual final
+ instance void RunStarted(object automationObject,
+ class [mscorlib]System.Collections.Generic.Dictionary`2 replacementsDictionary,
+ valuetype [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.WizardRunKind runKind,
+ object[] customParams) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method ReloadProjectWizard::RunStarted
+
+ .method public hidebysig newslot virtual final
+ instance bool ShouldAddProjectItem(string filePath) cil managed
+ {
+ // Code size 2 (0x2)
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: ret
+ } // end of method ReloadProjectWizard::ShouldAddProjectItem
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method ReloadProjectWizard::.ctor
+
+} // end of class TemplateBuilder.ReloadProjectWizard
+
+.class public auto ansi beforefieldinit TemplateBuilder.FixArtifactsPathWizard
+ extends [mscorlib]System.Object
+ implements [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.IWizard
+{
+ .class auto ansi serializable sealed nested private beforefieldinit '<>c'
+ extends [mscorlib]System.Object
+ {
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
+ .field public static initonly class TemplateBuilder.FixArtifactsPathWizard/'<>c' '<>9'
+ .field public static class [mscorlib]System.Func`2 '<>9__3_0'
+ .field public static class [mscorlib]System.Func`2 '<>9__3_1'
+ .field public static class [mscorlib]System.Func`2 '<>9__3_2'
+ .field public static class [mscorlib]System.Func`2 '<>9__3_3'
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ // Code size 11 (0xb)
+ .maxstack 8
+ IL_0000: newobj instance void TemplateBuilder.FixArtifactsPathWizard/'<>c'::.ctor()
+ IL_0005: stsfld class TemplateBuilder.FixArtifactsPathWizard/'<>c' TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9'
+ IL_000a: ret
+ } // end of method '<>c'::.cctor
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method '<>c'::.ctor
+
+ .method assembly hidebysig instance bool
+ 'b__3_0'(class [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyGroupElement x) cil managed
+ {
+ // Code size 17 (0x11)
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: callvirt instance string [Microsoft.Build]Microsoft.Build.Construction.ProjectElement::get_Label()
+ IL_0006: ldstr "Globals"
+ IL_000b: call bool [mscorlib]System.String::Equals(string,
+ string)
+ IL_0010: ret
+ } // end of method '<>c'::'b__3_0'
+
+ .method assembly hidebysig instance bool
+ 'b__3_1'(class [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement x) cil managed
+ {
+ // Code size 17 (0x11)
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: callvirt instance string [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement::get_Name()
+ IL_0006: ldstr "BaseIntermediateOutputPath"
+ IL_000b: call bool [mscorlib]System.String::Equals(string,
+ string)
+ IL_0010: ret
+ } // end of method '<>c'::'b__3_1'
+
+ .method assembly hidebysig instance bool
+ 'b__3_2'(class [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyGroupElement x) cil managed
+ {
+ // Code size 17 (0x11)
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: callvirt instance string [Microsoft.Build]Microsoft.Build.Construction.ProjectElement::get_Label()
+ IL_0006: ldstr "Globals"
+ IL_000b: call bool [mscorlib]System.String::Equals(string,
+ string)
+ IL_0010: ret
+ } // end of method '<>c'::'b__3_2'
+
+ .method assembly hidebysig instance bool
+ 'b__3_3'(class [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement x) cil managed
+ {
+ // Code size 17 (0x11)
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: callvirt instance string [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement::get_Name()
+ IL_0006: ldstr "OutputPath"
+ IL_000b: call bool [mscorlib]System.String::Equals(string,
+ string)
+ IL_0010: ret
+ } // end of method '<>c'::'b__3_3'
+
+ } // end of class '<>c'
+
+ .field private static literal string BaseIntermediateOutputPathPropertyName = "BaseIntermediateOutputPath"
+ .field private static literal string OutputPathPropertyName = "OutputPath"
+ .method public hidebysig newslot virtual final
+ instance void BeforeOpeningFile(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method FixArtifactsPathWizard::BeforeOpeningFile
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectFinishedGenerating(class [EnvDTE]EnvDTE.Project project) cil managed
+ {
+ // Code size 443 (0x1bb)
+ .maxstack 6
+ .locals init (string V_0,
+ string V_1,
+ string V_2,
+ string V_3,
+ string V_4,
+ string V_5,
+ string V_6,
+ bool V_7,
+ class [Microsoft.Build]Microsoft.Build.Evaluation.Project V_8,
+ class [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement V_9,
+ class [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement V_10)
+ IL_0000: ldarg.1
+ IL_0001: callvirt instance string [EnvDTE]EnvDTE.Project::get_FileName()
+ IL_0006: stloc.0
+ IL_0007: ldarg.1
+ IL_0008: callvirt instance class [EnvDTE]EnvDTE.DTE [EnvDTE]EnvDTE.Project::get_DTE()
+ IL_000d: callvirt instance class [EnvDTE]EnvDTE.Solution [EnvDTE]EnvDTE._DTE::get_Solution()
+ IL_0012: callvirt instance string [EnvDTE]EnvDTE._Solution::get_FileName()
+ IL_0017: stloc.1
+ IL_0018: ldloc.0
+ IL_0019: call string [mscorlib]System.IO.Path::GetExtension(string)
+ IL_001e: ldstr ".xproj"
+ IL_0023: call bool [mscorlib]System.String::Equals(string,
+ string)
+ IL_0028: brtrue.s IL_002b
+
+ IL_002a: ret
+
+ IL_002b: ldloc.0
+ IL_002c: call string [mscorlib]System.IO.Path::GetDirectoryName(string)
+ IL_0031: stloc.2
+ IL_0032: ldloc.1
+ IL_0033: call bool [mscorlib]System.String::IsNullOrEmpty(string)
+ IL_0038: brtrue.s IL_0042
+
+ IL_003a: ldloc.1
+ IL_003b: call string [mscorlib]System.IO.Path::GetDirectoryName(string)
+ IL_0040: br.s IL_0043
+
+ IL_0042: ldloc.2
+ IL_0043: dup
+ IL_0044: ldstr "artifacts\\obj\\$(MSBuildProjectName)"
+ IL_0049: call string [mscorlib]System.IO.Path::Combine(string,
+ string)
+ IL_004e: stloc.3
+ IL_004f: ldstr "artifacts\\bin\\$(MSBuildProjectName)"
+ IL_0054: call string [mscorlib]System.IO.Path::Combine(string,
+ string)
+ IL_0059: stloc.s V_4
+ IL_005b: ldloc.2
+ IL_005c: ldloc.3
+ IL_005d: call string TemplateBuilder.Helpers.PathHelper::GetRelativePath(string,
+ string)
+ IL_0062: stloc.s V_5
+ IL_0064: ldloc.2
+ IL_0065: ldloc.s V_4
+ IL_0067: call string TemplateBuilder.Helpers.PathHelper::GetRelativePath(string,
+ string)
+ IL_006c: stloc.s V_6
+ IL_006e: ldc.i4.0
+ IL_006f: stloc.s V_7
+ IL_0071: ldloc.0
+ IL_0072: newobj instance void [Microsoft.Build]Microsoft.Build.Evaluation.Project::.ctor(string)
+ IL_0077: stloc.s V_8
+ IL_0079: ldloc.s V_8
+ IL_007b: callvirt instance class [Microsoft.Build]Microsoft.Build.Construction.ProjectRootElement [Microsoft.Build]Microsoft.Build.Evaluation.Project::get_Xml()
+ IL_0080: callvirt instance class [mscorlib]System.Collections.Generic.ICollection`1 [Microsoft.Build]Microsoft.Build.Construction.ProjectRootElement::get_PropertyGroups()
+ IL_0085: ldsfld class [mscorlib]System.Func`2 TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9__3_0'
+ IL_008a: dup
+ IL_008b: brtrue.s IL_00a4
+
+ IL_008d: pop
+ IL_008e: ldsfld class TemplateBuilder.FixArtifactsPathWizard/'<>c' TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9'
+ IL_0093: ldftn instance bool TemplateBuilder.FixArtifactsPathWizard/'<>c'::'b__3_0'(class [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyGroupElement)
+ IL_0099: newobj instance void class [mscorlib]System.Func`2::.ctor(object,
+ native int)
+ IL_009e: dup
+ IL_009f: stsfld class [mscorlib]System.Func`2 TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9__3_0'
+ IL_00a4: call !!0 [System.Core]System.Linq.Enumerable::FirstOrDefault(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2)
+ IL_00a9: dup
+ IL_00aa: brtrue.s IL_00b0
+
+ IL_00ac: pop
+ IL_00ad: ldnull
+ IL_00ae: br.s IL_00de
+
+ IL_00b0: call instance class [mscorlib]System.Collections.Generic.ICollection`1 [Microsoft.Build]Microsoft.Build.Construction.ProjectElementContainer::get_Children()
+ IL_00b5: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::OfType(class [mscorlib]System.Collections.IEnumerable)
+ IL_00ba: ldsfld class [mscorlib]System.Func`2 TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9__3_1'
+ IL_00bf: dup
+ IL_00c0: brtrue.s IL_00d9
+
+ IL_00c2: pop
+ IL_00c3: ldsfld class TemplateBuilder.FixArtifactsPathWizard/'<>c' TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9'
+ IL_00c8: ldftn instance bool TemplateBuilder.FixArtifactsPathWizard/'<>c'::'b__3_1'(class [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement)
+ IL_00ce: newobj instance void class [mscorlib]System.Func`2::.ctor(object,
+ native int)
+ IL_00d3: dup
+ IL_00d4: stsfld class [mscorlib]System.Func`2 TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9__3_1'
+ IL_00d9: call !!0 [System.Core]System.Linq.Enumerable::FirstOrDefault(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2)
+ IL_00de: stloc.s V_9
+ IL_00e0: ldloc.s V_9
+ IL_00e2: brfalse.s IL_0121
+
+ IL_00e4: ldloc.s V_9
+ IL_00e6: callvirt instance string [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement::get_Value()
+ IL_00eb: ldloc.s V_5
+ IL_00ed: ldc.i4.1
+ IL_00ee: newarr [mscorlib]System.Char
+ IL_00f3: dup
+ IL_00f4: ldc.i4.0
+ IL_00f5: ldc.i4.s 92
+ IL_00f7: stelem.i2
+ IL_00f8: callvirt instance string [mscorlib]System.String::TrimEnd(char[])
+ IL_00fd: ldc.i4.4
+ IL_00fe: call bool [mscorlib]System.String::Equals(string,
+ string,
+ valuetype [mscorlib]System.StringComparison)
+ IL_0103: brtrue.s IL_0121
+
+ IL_0105: ldloc.s V_9
+ IL_0107: ldloc.s V_5
+ IL_0109: ldc.i4.1
+ IL_010a: newarr [mscorlib]System.Char
+ IL_010f: dup
+ IL_0110: ldc.i4.0
+ IL_0111: ldc.i4.s 92
+ IL_0113: stelem.i2
+ IL_0114: callvirt instance string [mscorlib]System.String::TrimEnd(char[])
+ IL_0119: callvirt instance void [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement::set_Value(string)
+ IL_011e: ldc.i4.1
+ IL_011f: stloc.s V_7
+ IL_0121: ldloc.s V_8
+ IL_0123: callvirt instance class [Microsoft.Build]Microsoft.Build.Construction.ProjectRootElement [Microsoft.Build]Microsoft.Build.Evaluation.Project::get_Xml()
+ IL_0128: callvirt instance class [mscorlib]System.Collections.Generic.ICollection`1 [Microsoft.Build]Microsoft.Build.Construction.ProjectRootElement::get_PropertyGroups()
+ IL_012d: ldsfld class [mscorlib]System.Func`2 TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9__3_2'
+ IL_0132: dup
+ IL_0133: brtrue.s IL_014c
+
+ IL_0135: pop
+ IL_0136: ldsfld class TemplateBuilder.FixArtifactsPathWizard/'<>c' TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9'
+ IL_013b: ldftn instance bool TemplateBuilder.FixArtifactsPathWizard/'<>c'::'b__3_2'(class [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyGroupElement)
+ IL_0141: newobj instance void class [mscorlib]System.Func`2::.ctor(object,
+ native int)
+ IL_0146: dup
+ IL_0147: stsfld class [mscorlib]System.Func`2 TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9__3_2'
+ IL_014c: call !!0 [System.Core]System.Linq.Enumerable::FirstOrDefault(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2)
+ IL_0151: dup
+ IL_0152: brtrue.s IL_0158
+
+ IL_0154: pop
+ IL_0155: ldnull
+ IL_0156: br.s IL_0186
+
+ IL_0158: call instance class [mscorlib]System.Collections.Generic.ICollection`1 [Microsoft.Build]Microsoft.Build.Construction.ProjectElementContainer::get_Children()
+ IL_015d: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::OfType(class [mscorlib]System.Collections.IEnumerable)
+ IL_0162: ldsfld class [mscorlib]System.Func`2 TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9__3_3'
+ IL_0167: dup
+ IL_0168: brtrue.s IL_0181
+
+ IL_016a: pop
+ IL_016b: ldsfld class TemplateBuilder.FixArtifactsPathWizard/'<>c' TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9'
+ IL_0170: ldftn instance bool TemplateBuilder.FixArtifactsPathWizard/'<>c'::'b__3_3'(class [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement)
+ IL_0176: newobj instance void class [mscorlib]System.Func`2::.ctor(object,
+ native int)
+ IL_017b: dup
+ IL_017c: stsfld class [mscorlib]System.Func`2 TemplateBuilder.FixArtifactsPathWizard/'<>c'::'<>9__3_3'
+ IL_0181: call !!0 [System.Core]System.Linq.Enumerable::FirstOrDefault(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2)
+ IL_0186: stloc.s V_10
+ IL_0188: ldloc.s V_10
+ IL_018a: brfalse.s IL_01a9
+
+ IL_018c: ldloc.s V_10
+ IL_018e: callvirt instance string [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement::get_Value()
+ IL_0193: ldloc.s V_6
+ IL_0195: ldc.i4.4
+ IL_0196: call bool [mscorlib]System.String::Equals(string,
+ string,
+ valuetype [mscorlib]System.StringComparison)
+ IL_019b: brtrue.s IL_01a9
+
+ IL_019d: ldloc.s V_10
+ IL_019f: ldloc.s V_6
+ IL_01a1: callvirt instance void [Microsoft.Build]Microsoft.Build.Construction.ProjectPropertyElement::set_Value(string)
+ IL_01a6: ldc.i4.1
+ IL_01a7: stloc.s V_7
+ IL_01a9: ldloc.s V_7
+ IL_01ab: brfalse.s IL_01ba
+
+ IL_01ad: ldloc.s V_8
+ IL_01af: callvirt instance void [Microsoft.Build]Microsoft.Build.Evaluation.Project::Save()
+ IL_01b4: ldarg.1
+ IL_01b5: call void TemplateBuilder.Helpers.ProjectHelper::ReloadProject(class [EnvDTE]EnvDTE.Project)
+ IL_01ba: ret
+ } // end of method FixArtifactsPathWizard::ProjectFinishedGenerating
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectItemFinishedGenerating(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method FixArtifactsPathWizard::ProjectItemFinishedGenerating
+
+ .method public hidebysig newslot virtual final
+ instance void RunFinished() cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method FixArtifactsPathWizard::RunFinished
+
+ .method public hidebysig newslot virtual final
+ instance void RunStarted(object automationObject,
+ class [mscorlib]System.Collections.Generic.Dictionary`2 replacementsDictionary,
+ valuetype [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.WizardRunKind runKind,
+ object[] customParams) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method FixArtifactsPathWizard::RunStarted
+
+ .method public hidebysig newslot virtual final
+ instance bool ShouldAddProjectItem(string filePath) cil managed
+ {
+ // Code size 2 (0x2)
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: ret
+ } // end of method FixArtifactsPathWizard::ShouldAddProjectItem
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method FixArtifactsPathWizard::.ctor
+
+} // end of class TemplateBuilder.FixArtifactsPathWizard
+
+.class public auto ansi beforefieldinit TemplateBuilder.FixNuGetPackageHintPathsWizard
+ extends [mscorlib]System.Object
+ implements [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.IWizard
+{
+ .class auto ansi serializable sealed nested private beforefieldinit '<>c'
+ extends [mscorlib]System.Object
+ {
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
+ .field public static initonly class TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c' '<>9'
+ .field public static class [mscorlib]System.Func`2 '<>9__10_0'
+ .field public static class [mscorlib]System.Func`2> '<>9__10_1'
+ .field public static class [mscorlib]System.Func`2 '<>9__10_2'
+ .field public static class [mscorlib]System.Func`2 '<>9__12_0'
+ .field public static class [mscorlib]System.Func`2 '<>9__12_1'
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ // Code size 11 (0xb)
+ .maxstack 8
+ IL_0000: newobj instance void TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::.ctor()
+ IL_0005: stsfld class TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c' TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9'
+ IL_000a: ret
+ } // end of method '<>c'::.cctor
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method '<>c'::.ctor
+
+ .method assembly hidebysig instance bool
+ 'b__10_0'(class [Microsoft.Build]Microsoft.Build.Evaluation.ProjectItem x) cil managed
+ {
+ // Code size 18 (0x12)
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: callvirt instance string [Microsoft.Build]Microsoft.Build.Evaluation.ProjectItem::get_ItemType()
+ IL_0006: ldstr "Reference"
+ IL_000b: ldc.i4.5
+ IL_000c: call bool [mscorlib]System.String::Equals(string,
+ string,
+ valuetype [mscorlib]System.StringComparison)
+ IL_0011: ret
+ } // end of method '<>c'::'b__10_0'
+
+ .method assembly hidebysig instance class [mscorlib]System.Collections.Generic.IEnumerable`1
+ 'b__10_1'(class [Microsoft.Build]Microsoft.Build.Evaluation.ProjectItem x) cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: callvirt instance class [mscorlib]System.Collections.Generic.ICollection`1 [Microsoft.Build]Microsoft.Build.Evaluation.ProjectItem::get_Metadata()
+ IL_0006: ret
+ } // end of method '<>c'::'b__10_1'
+
+ .method assembly hidebysig instance bool
+ 'b__10_2'(class [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata x) cil managed
+ {
+ // Code size 58 (0x3a)
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: callvirt instance string [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata::get_Name()
+ IL_0006: ldstr "HintPath"
+ IL_000b: ldc.i4.5
+ IL_000c: call bool [mscorlib]System.String::Equals(string,
+ string,
+ valuetype [mscorlib]System.StringComparison)
+ IL_0011: brfalse.s IL_0038
+
+ IL_0013: ldarg.1
+ IL_0014: callvirt instance string [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata::get_UnevaluatedValue()
+ IL_0019: ldstr "packages\\"
+ IL_001e: callvirt instance bool [mscorlib]System.String::StartsWith(string)
+ IL_0023: brtrue.s IL_0036
+
+ IL_0025: ldarg.1
+ IL_0026: callvirt instance string [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata::get_UnevaluatedValue()
+ IL_002b: ldstr "\\packages\\"
+ IL_0030: callvirt instance bool [mscorlib]System.String::Contains(string)
+ IL_0035: ret
+
+ IL_0036: ldc.i4.1
+ IL_0037: ret
+
+ IL_0038: ldc.i4.0
+ IL_0039: ret
+ } // end of method '<>c'::'b__10_2'
+
+ .method assembly hidebysig instance string
+ 'b__12_0'(class [NuGet.Core]NuGet.Settings x) cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: call string [NuGet.Core]NuGet.SettingsExtensions::GetRepositoryPath(class [NuGet.Core]NuGet.ISettings)
+ IL_0006: ret
+ } // end of method '<>c'::'b__12_0'
+
+ .method assembly hidebysig instance bool
+ 'b__12_1'(string x) cil managed
+ {
+ // Code size 5 (0x5)
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: ldnull
+ IL_0002: cgt.un
+ IL_0004: ret
+ } // end of method '<>c'::'b__12_1'
+
+ } // end of class '<>c'
+
+ .field private static literal string PackagesSlash = "packages\\"
+ .field private static literal string SlashPackagesSlash = "\\packages\\"
+ .field private static literal string Reference = "Reference"
+ .field private static literal string HintPath = "HintPath"
+ .method public hidebysig newslot virtual final
+ instance void BeforeOpeningFile(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method FixNuGetPackageHintPathsWizard::BeforeOpeningFile
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectFinishedGenerating(class [EnvDTE]EnvDTE.Project project) cil managed
+ {
+ // Code size 48 (0x30)
+ .maxstack 2
+ .locals init (string V_0)
+ IL_0000: ldarg.1
+ IL_0001: callvirt instance string [EnvDTE]EnvDTE.Project::get_FileName()
+ IL_0006: stloc.0
+ IL_0007: ldarg.1
+ IL_0008: callvirt instance class [EnvDTE]EnvDTE.CodeModel [EnvDTE]EnvDTE.Project::get_CodeModel()
+ IL_000d: callvirt instance class [EnvDTE]EnvDTE.DTE [EnvDTE]EnvDTE.CodeModel::get_DTE()
+ IL_0012: callvirt instance class [EnvDTE]EnvDTE.Solution [EnvDTE]EnvDTE._DTE::get_Solution()
+ IL_0017: callvirt instance string [EnvDTE]EnvDTE._Solution::get_FileName()
+ IL_001c: ldloc.0
+ IL_001d: call bool TemplateBuilder.FixNuGetPackageHintPathsWizard::Execute(string,
+ string)
+ IL_0022: brfalse.s IL_002f
+
+ IL_0024: ldarg.1
+ IL_0025: ldstr ""
+ IL_002a: callvirt instance void [EnvDTE]EnvDTE.Project::Save(string)
+ IL_002f: ret
+ } // end of method FixNuGetPackageHintPathsWizard::ProjectFinishedGenerating
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectItemFinishedGenerating(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method FixNuGetPackageHintPathsWizard::ProjectItemFinishedGenerating
+
+ .method public hidebysig newslot virtual final
+ instance void RunFinished() cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method FixNuGetPackageHintPathsWizard::RunFinished
+
+ .method public hidebysig newslot virtual final
+ instance void RunStarted(object automationObject,
+ class [mscorlib]System.Collections.Generic.Dictionary`2 replacementsDictionary,
+ valuetype [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.WizardRunKind runKind,
+ object[] customParams) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method FixNuGetPackageHintPathsWizard::RunStarted
+
+ .method public hidebysig newslot virtual final
+ instance bool ShouldAddProjectItem(string filePath) cil managed
+ {
+ // Code size 2 (0x2)
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: ret
+ } // end of method FixNuGetPackageHintPathsWizard::ShouldAddProjectItem
+
+ .method private hidebysig static bool Execute(string solutionFilePath,
+ string projectFilePath) cil managed
+ {
+ // Code size 316 (0x13c)
+ .maxstack 3
+ .locals init (bool V_0,
+ string V_1,
+ string V_2,
+ string V_3,
+ string V_4,
+ class [mscorlib]System.Collections.Generic.IEnumerator`1 V_5,
+ class [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata V_6,
+ int32 V_7,
+ string V_8)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: ldarg.1
+ IL_0003: call string [mscorlib]System.IO.Path::GetDirectoryName(string)
+ IL_0008: stloc.1
+ IL_0009: ldarg.0
+ IL_000a: call bool [mscorlib]System.String::IsNullOrEmpty(string)
+ IL_000f: brtrue.s IL_0019
+
+ IL_0011: ldarg.0
+ IL_0012: call string [mscorlib]System.IO.Path::GetDirectoryName(string)
+ IL_0017: br.s IL_001a
+
+ IL_0019: ldloc.1
+ IL_001a: stloc.2
+ IL_001b: ldloc.2
+ IL_001c: call string TemplateBuilder.FixNuGetPackageHintPathsWizard::GetCustomPackagesDirectoryPath(string)
+ IL_0021: stloc.3
+ IL_0022: ldloc.1
+ IL_0023: ldloc.2
+ IL_0024: ldloc.3
+ IL_0025: call string TemplateBuilder.FixNuGetPackageHintPathsWizard::GetRelativePackagesDirectoryPath(string,
+ string,
+ string)
+ IL_002a: stloc.s V_4
+ IL_002c: ldarg.1
+ IL_002d: newobj instance void [Microsoft.Build]Microsoft.Build.Evaluation.Project::.ctor(string)
+ IL_0032: callvirt instance class [mscorlib]System.Collections.Generic.ICollection`1 [Microsoft.Build]Microsoft.Build.Evaluation.Project::get_Items()
+ IL_0037: ldsfld class [mscorlib]System.Func`2 TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9__10_0'
+ IL_003c: dup
+ IL_003d: brtrue.s IL_0056
+
+ IL_003f: pop
+ IL_0040: ldsfld class TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c' TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9'
+ IL_0045: ldftn instance bool TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'b__10_0'(class [Microsoft.Build]Microsoft.Build.Evaluation.ProjectItem)
+ IL_004b: newobj instance void class [mscorlib]System.Func`2::.ctor(object,
+ native int)
+ IL_0050: dup
+ IL_0051: stsfld class [mscorlib]System.Func`2 TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9__10_0'
+ IL_0056: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Where(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2)
+ IL_005b: ldsfld class [mscorlib]System.Func`2> TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9__10_1'
+ IL_0060: dup
+ IL_0061: brtrue.s IL_007a
+
+ IL_0063: pop
+ IL_0064: ldsfld class TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c' TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9'
+ IL_0069: ldftn instance class [mscorlib]System.Collections.Generic.IEnumerable`1 TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'b__10_1'(class [Microsoft.Build]Microsoft.Build.Evaluation.ProjectItem)
+ IL_006f: newobj instance void class [mscorlib]System.Func`2>::.ctor(object,
+ native int)
+ IL_0074: dup
+ IL_0075: stsfld class [mscorlib]System.Func`2> TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9__10_1'
+ IL_007a: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::SelectMany(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2>)
+ IL_007f: ldsfld class [mscorlib]System.Func`2 TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9__10_2'
+ IL_0084: dup
+ IL_0085: brtrue.s IL_009e
+
+ IL_0087: pop
+ IL_0088: ldsfld class TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c' TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9'
+ IL_008d: ldftn instance bool TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'b__10_2'(class [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata)
+ IL_0093: newobj instance void class [mscorlib]System.Func`2::.ctor(object,
+ native int)
+ IL_0098: dup
+ IL_0099: stsfld class [mscorlib]System.Func`2 TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9__10_2'
+ IL_009e: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Where(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2)
+ IL_00a3: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1::GetEnumerator()
+ IL_00a8: stloc.s V_5
+ .try
+ {
+ IL_00aa: br.s IL_0123
+
+ IL_00ac: ldloc.s V_5
+ IL_00ae: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1::get_Current()
+ IL_00b3: stloc.s V_6
+ IL_00b5: ldloc.3
+ IL_00b6: brtrue.s IL_00cd
+
+ IL_00b8: ldloc.s V_6
+ IL_00ba: callvirt instance string [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata::get_UnevaluatedValue()
+ IL_00bf: ldstr "packages\\"
+ IL_00c4: callvirt instance int32 [mscorlib]System.String::IndexOf(string)
+ IL_00c9: stloc.s V_7
+ IL_00cb: br.s IL_00eb
+
+ IL_00cd: ldloc.s V_6
+ IL_00cf: callvirt instance string [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata::get_UnevaluatedValue()
+ IL_00d4: ldstr "packages\\"
+ IL_00d9: callvirt instance int32 [mscorlib]System.String::IndexOf(string)
+ IL_00de: ldstr "packages\\"
+ IL_00e3: call instance int32 [mscorlib]System.String::get_Length()
+ IL_00e8: add
+ IL_00e9: stloc.s V_7
+ IL_00eb: ldloc.s V_7
+ IL_00ed: ldc.i4.m1
+ IL_00ee: beq.s IL_0123
+
+ IL_00f0: ldloc.s V_4
+ IL_00f2: ldloc.s V_6
+ IL_00f4: callvirt instance string [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata::get_UnevaluatedValue()
+ IL_00f9: ldloc.s V_7
+ IL_00fb: callvirt instance string [mscorlib]System.String::Substring(int32)
+ IL_0100: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_0105: stloc.s V_8
+ IL_0107: ldloc.s V_6
+ IL_0109: callvirt instance string [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata::get_UnevaluatedValue()
+ IL_010e: ldloc.s V_8
+ IL_0110: ldc.i4.5
+ IL_0111: call bool [mscorlib]System.String::Equals(string,
+ string,
+ valuetype [mscorlib]System.StringComparison)
+ IL_0116: brtrue.s IL_0123
+
+ IL_0118: ldc.i4.1
+ IL_0119: stloc.0
+ IL_011a: ldloc.s V_6
+ IL_011c: ldloc.s V_8
+ IL_011e: callvirt instance void [Microsoft.Build]Microsoft.Build.Evaluation.ProjectMetadata::set_UnevaluatedValue(string)
+ IL_0123: ldloc.s V_5
+ IL_0125: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_012a: brtrue.s IL_00ac
+
+ IL_012c: leave.s IL_013a
+
+ } // end .try
+ finally
+ {
+ IL_012e: ldloc.s V_5
+ IL_0130: brfalse.s IL_0139
+
+ IL_0132: ldloc.s V_5
+ IL_0134: callvirt instance void [mscorlib]System.IDisposable::Dispose()
+ IL_0139: endfinally
+ } // end handler
+ IL_013a: ldloc.0
+ IL_013b: ret
+ } // end of method FixNuGetPackageHintPathsWizard::Execute
+
+ .method private hidebysig static string
+ GetRelativePackagesDirectoryPath(string projectDirectoryPath,
+ string solutionDirectoryPath,
+ string customPackagesDirectoryPath) cil managed
+ {
+ // Code size 47 (0x2f)
+ .maxstack 2
+ .locals init (string V_0,
+ string V_1)
+ IL_0000: ldarg.2
+ IL_0001: brtrue.s IL_000d
+
+ IL_0003: ldarg.0
+ IL_0004: ldarg.1
+ IL_0005: call string TemplateBuilder.Helpers.PathHelper::GetRelativePath(string,
+ string)
+ IL_000a: stloc.0
+ IL_000b: br.s IL_002d
+
+ IL_000d: ldarg.2
+ IL_000e: call bool [mscorlib]System.IO.Path::IsPathRooted(string)
+ IL_0013: brfalse.s IL_001d
+
+ IL_0015: ldarg.0
+ IL_0016: ldarg.2
+ IL_0017: call string TemplateBuilder.Helpers.PathHelper::GetRelativePath(string,
+ string)
+ IL_001c: ret
+
+ IL_001d: ldarg.1
+ IL_001e: ldarg.2
+ IL_001f: call string [mscorlib]System.IO.Path::Combine(string,
+ string)
+ IL_0024: stloc.1
+ IL_0025: ldarg.0
+ IL_0026: ldloc.1
+ IL_0027: call string TemplateBuilder.Helpers.PathHelper::GetRelativePath(string,
+ string)
+ IL_002c: ret
+
+ IL_002d: ldloc.0
+ IL_002e: ret
+ } // end of method FixNuGetPackageHintPathsWizard::GetRelativePackagesDirectoryPath
+
+ .method private hidebysig static string
+ GetCustomPackagesDirectoryPath(string projectDirectoryPath) cil managed
+ {
+ // Code size 104 (0x68)
+ .maxstack 5
+ IL_0000: ldarg.0
+ IL_0001: call string [mscorlib]System.IO.Path::GetPathRoot(string)
+ IL_0006: newobj instance void [NuGet.Core]NuGet.PhysicalFileSystem::.ctor(string)
+ IL_000b: ldc.i4.1
+ IL_000c: newarr [mscorlib]System.String
+ IL_0011: dup
+ IL_0012: ldc.i4.0
+ IL_0013: ldarg.0
+ IL_0014: stelem.ref
+ IL_0015: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [NuGet.Core]NuGet.Settings::LoadMachineWideSettings(class [NuGet.Core]NuGet.IFileSystem,
+ string[])
+ IL_001a: ldsfld class [mscorlib]System.Func`2 TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9__12_0'
+ IL_001f: dup
+ IL_0020: brtrue.s IL_0039
+
+ IL_0022: pop
+ IL_0023: ldsfld class TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c' TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9'
+ IL_0028: ldftn instance string TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'b__12_0'(class [NuGet.Core]NuGet.Settings)
+ IL_002e: newobj instance void class [mscorlib]System.Func`2::.ctor(object,
+ native int)
+ IL_0033: dup
+ IL_0034: stsfld class [mscorlib]System.Func`2 TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9__12_0'
+ IL_0039: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Select(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2)
+ IL_003e: ldsfld class [mscorlib]System.Func`2 TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9__12_1'
+ IL_0043: dup
+ IL_0044: brtrue.s IL_005d
+
+ IL_0046: pop
+ IL_0047: ldsfld class TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c' TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9'
+ IL_004c: ldftn instance bool TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'b__12_1'(string)
+ IL_0052: newobj instance void class [mscorlib]System.Func`2::.ctor(object,
+ native int)
+ IL_0057: dup
+ IL_0058: stsfld class [mscorlib]System.Func`2 TemplateBuilder.FixNuGetPackageHintPathsWizard/'<>c'::'<>9__12_1'
+ IL_005d: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Where(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2)
+ IL_0062: call !!0 [System.Core]System.Linq.Enumerable::FirstOrDefault(class [mscorlib]System.Collections.Generic.IEnumerable`1)
+ IL_0067: ret
+ } // end of method FixNuGetPackageHintPathsWizard::GetCustomPackagesDirectoryPath
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method FixNuGetPackageHintPathsWizard::.ctor
+
+} // end of class TemplateBuilder.FixNuGetPackageHintPathsWizard
+
+.class public auto ansi beforefieldinit TemplateBuilder.RootWizard
+ extends [mscorlib]System.Object
+ implements [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.IWizard
+{
+ .field public static class [mscorlib]System.Collections.Generic.Dictionary`2 GlobalDictionary
+ .method public hidebysig newslot virtual final
+ instance void RunStarted(object automationObject,
+ class [mscorlib]System.Collections.Generic.Dictionary`2 replacementsDictionary,
+ valuetype [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.WizardRunKind runKind,
+ object[] customParams) cil managed
+ {
+ // Code size 27 (0x1b)
+ .maxstack 8
+ IL_0000: ldsfld class [mscorlib]System.Collections.Generic.Dictionary`2 TemplateBuilder.RootWizard::GlobalDictionary
+ IL_0005: ldstr "$saferootprojectname$"
+ IL_000a: ldarg.2
+ IL_000b: ldstr "$safeprojectname$"
+ IL_0010: callvirt instance !1 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Item(!0)
+ IL_0015: callvirt instance void class [mscorlib]System.Collections.Generic.Dictionary`2::set_Item(!0,
+ !1)
+ IL_001a: ret
+ } // end of method RootWizard::RunStarted
+
+ .method public hidebysig newslot virtual final
+ instance bool ShouldAddProjectItem(string filePath) cil managed
+ {
+ // Code size 2 (0x2)
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: ret
+ } // end of method RootWizard::ShouldAddProjectItem
+
+ .method public hidebysig newslot virtual final
+ instance void RunFinished() cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method RootWizard::RunFinished
+
+ .method public hidebysig newslot virtual final
+ instance void BeforeOpeningFile(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method RootWizard::BeforeOpeningFile
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectItemFinishedGenerating(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method RootWizard::ProjectItemFinishedGenerating
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectFinishedGenerating(class [EnvDTE]EnvDTE.Project project) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method RootWizard::ProjectFinishedGenerating
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method RootWizard::.ctor
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ // Code size 11 (0xb)
+ .maxstack 8
+ IL_0000: newobj instance void class [mscorlib]System.Collections.Generic.Dictionary`2::.ctor()
+ IL_0005: stsfld class [mscorlib]System.Collections.Generic.Dictionary`2 TemplateBuilder.RootWizard::GlobalDictionary
+ IL_000a: ret
+ } // end of method RootWizard::.cctor
+
+} // end of class TemplateBuilder.RootWizard
+
+.class public auto ansi beforefieldinit TemplateBuilder.SolutionWizard
+ extends [mscorlib]System.Object
+ implements [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.IWizard
+{
+ .class auto ansi sealed nested private beforefieldinit '<>c__DisplayClass5_0'
+ extends [mscorlib]System.Object
+ {
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
+ .field public string projectsDir
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method '<>c__DisplayClass5_0'::.ctor
+
+ .method assembly hidebysig instance void
+ 'b__1'(object state) cil managed
+ {
+ // Code size 23 (0x17)
+ .maxstack 8
+ IL_0000: ldc.i4 0xfa0
+ IL_0005: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_000a: ldarg.0
+ IL_000b: ldfld string TemplateBuilder.SolutionWizard/'<>c__DisplayClass5_0'::projectsDir
+ IL_0010: ldc.i4.3
+ IL_0011: call void TemplateBuilder.SolutionWizard::DeleteDirectory(string,
+ int32)
+ IL_0016: ret
+ } // end of method '<>c__DisplayClass5_0'::'b__1'
+
+ } // end of class '<>c__DisplayClass5_0'
+
+ .class auto ansi serializable sealed nested private beforefieldinit '<>c'
+ extends [mscorlib]System.Object
+ {
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
+ .field public static initonly class TemplateBuilder.SolutionWizard/'<>c' '<>9'
+ .field public static class [mscorlib]System.Func`2,bool> '<>9__5_0'
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ // Code size 11 (0xb)
+ .maxstack 8
+ IL_0000: newobj instance void TemplateBuilder.SolutionWizard/'<>c'::.ctor()
+ IL_0005: stsfld class TemplateBuilder.SolutionWizard/'<>c' TemplateBuilder.SolutionWizard/'<>c'::'<>9'
+ IL_000a: ret
+ } // end of method '<>c'::.cctor
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method '<>c'::.ctor
+
+ .method assembly hidebysig instance bool
+ 'b__5_0'(valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2 keyValuePair) cil managed
+ {
+ // Code size 16 (0x10)
+ .maxstack 8
+ IL_0000: ldarga.s keyValuePair
+ IL_0002: call instance !1 valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2::get_Value()
+ IL_0007: call bool [mscorlib]System.String::IsNullOrWhiteSpace(string)
+ IL_000c: ldc.i4.0
+ IL_000d: ceq
+ IL_000f: ret
+ } // end of method '<>c'::'b__5_0'
+
+ } // end of class '<>c'
+
+ .field private class [EnvDTE100]EnvDTE100.Solution4 _solution
+ .field private class [mscorlib]System.Collections.Generic.IList`1 _existingProjects
+ .field public static class [mscorlib]System.Collections.Generic.Dictionary`2 GlobalDictionary
+ .method public hidebysig newslot virtual final
+ instance void RunStarted(object automationObject,
+ class [mscorlib]System.Collections.Generic.Dictionary`2 replacementsDictionary,
+ valuetype [Microsoft.VisualStudio.TemplateWizardInterface]Microsoft.VisualStudio.TemplateWizard.WizardRunKind runKind,
+ object[] customParams) cil managed
+ {
+ // Code size 81 (0x51)
+ .maxstack 4
+ .locals init (class [EnvDTE80]EnvDTE80.DTE2 V_0)
+ IL_0000: ldsfld class [mscorlib]System.Collections.Generic.Dictionary`2 TemplateBuilder.SolutionWizard::GlobalDictionary
+ IL_0005: ldstr "$saferootprojectname$"
+ IL_000a: ldarg.2
+ IL_000b: ldstr "$safeprojectname$"
+ IL_0010: callvirt instance !1 class [mscorlib]System.Collections.Generic.Dictionary`2::get_Item(!0)
+ IL_0015: callvirt instance void class [mscorlib]System.Collections.Generic.Dictionary`2::set_Item(!0,
+ !1)
+ IL_001a: ldarg.3
+ IL_001b: ldc.i4.3
+ IL_001c: beq.s IL_001f
+
+ IL_001e: ret
+
+ IL_001f: ldarg.1
+ IL_0020: isinst [EnvDTE80]EnvDTE80.DTE2
+ IL_0025: stloc.0
+ IL_0026: ldloc.0
+ IL_0027: brfalse.s IL_003a
+
+ IL_0029: ldarg.0
+ IL_002a: ldloc.0
+ IL_002b: callvirt instance class [EnvDTE]EnvDTE.Solution [EnvDTE80]EnvDTE80.DTE2::get_Solution()
+ IL_0030: castclass [EnvDTE100]EnvDTE100.Solution4
+ IL_0035: stfld class [EnvDTE100]EnvDTE100.Solution4 TemplateBuilder.SolutionWizard::_solution
+ IL_003a: ldarg.0
+ IL_003b: ldarg.0
+ IL_003c: call instance class [mscorlib]System.Collections.Generic.IList`1 TemplateBuilder.SolutionWizard::GetProjects()
+ IL_0041: dup
+ IL_0042: brtrue.s IL_004b
+
+ IL_0044: pop
+ IL_0045: ldc.i4.0
+ IL_0046: newarr [EnvDTE]EnvDTE.Project
+ IL_004b: stfld class [mscorlib]System.Collections.Generic.IList`1 TemplateBuilder.SolutionWizard::_existingProjects
+ IL_0050: ret
+ } // end of method SolutionWizard::RunStarted
+
+ .method public hidebysig newslot virtual final
+ instance bool ShouldAddProjectItem(string filePath) cil managed
+ {
+ // Code size 2 (0x2)
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: ret
+ } // end of method SolutionWizard::ShouldAddProjectItem
+
+ .method public hidebysig newslot virtual final
+ instance void RunFinished() cil managed
+ {
+ // Code size 352 (0x160)
+ .maxstack 3
+ .locals init (class TemplateBuilder.SolutionWizard/'<>c__DisplayClass5_0' V_0,
+ class [mscorlib]System.Collections.Generic.List`1 V_1,
+ class [mscorlib]System.Collections.Generic.List`1> V_2,
+ valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator V_3,
+ class [EnvDTE]EnvDTE.Project V_4,
+ class [mscorlib]System.Collections.Generic.IEnumerator`1> V_5,
+ valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2 V_6,
+ class [EnvDTE80]EnvDTE80.SolutionFolder V_7)
+ IL_0000: newobj instance void TemplateBuilder.SolutionWizard/'<>c__DisplayClass5_0'::.ctor()
+ IL_0005: stloc.0
+ IL_0006: ldarg.0
+ IL_0007: ldfld class [EnvDTE100]EnvDTE100.Solution4 TemplateBuilder.SolutionWizard::_solution
+ IL_000c: brtrue.s IL_0019
+
+ IL_000e: ldstr "No solution found."
+ IL_0013: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0018: throw
+
+ IL_0019: ldarg.0
+ IL_001a: call instance class [mscorlib]System.Collections.Generic.IList`1 TemplateBuilder.SolutionWizard::GetProjects()
+ IL_001f: ldarg.0
+ IL_0020: ldfld class [mscorlib]System.Collections.Generic.IList`1 TemplateBuilder.SolutionWizard::_existingProjects
+ IL_0025: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Except(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Collections.Generic.IEnumerable`1)
+ IL_002a: call class [mscorlib]System.Collections.Generic.List`1 [System.Core]System.Linq.Enumerable::ToList(class [mscorlib]System.Collections.Generic.IEnumerable`1)
+ IL_002f: stloc.1
+ IL_0030: ldloc.1
+ IL_0031: brfalse.s IL_003b
+
+ IL_0033: ldloc.1
+ IL_0034: call bool [System.Core]System.Linq.Enumerable::Any(class [mscorlib]System.Collections.Generic.IEnumerable`1)
+ IL_0039: brtrue.s IL_0046
+
+ IL_003b: ldstr "No projects found."
+ IL_0040: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0045: throw
+
+ IL_0046: ldloc.0
+ IL_0047: ldloc.1
+ IL_0048: call !!0 [System.Core]System.Linq.Enumerable::First(class [mscorlib]System.Collections.Generic.IEnumerable`1)
+ IL_004d: callvirt instance string [EnvDTE]EnvDTE.Project::get_FullName()
+ IL_0052: call string [mscorlib]System.IO.Path::GetDirectoryName(string)
+ IL_0057: call string [mscorlib]System.IO.Path::GetDirectoryName(string)
+ IL_005c: stfld string TemplateBuilder.SolutionWizard/'<>c__DisplayClass5_0'::projectsDir
+ IL_0061: ldloc.0
+ IL_0062: ldfld string TemplateBuilder.SolutionWizard/'<>c__DisplayClass5_0'::projectsDir
+ IL_0067: brtrue.s IL_006a
+
+ IL_0069: ret
+
+ IL_006a: ldloc.1
+ IL_006b: ldarg.0
+ IL_006c: ldftn instance valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2 TemplateBuilder.SolutionWizard::AdjustProjectLocation(class [EnvDTE]EnvDTE.Project)
+ IL_0072: newobj instance void class [mscorlib]System.Func`2>::.ctor(object,
+ native int)
+ IL_0077: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Select>(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2)
+ IL_007c: call class [mscorlib]System.Collections.Generic.List`1 [System.Core]System.Linq.Enumerable::ToList>(class [mscorlib]System.Collections.Generic.IEnumerable`1)
+ IL_0081: stloc.2
+ IL_0082: ldloc.1
+ IL_0083: callvirt instance valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator class [mscorlib]System.Collections.Generic.List`1::GetEnumerator()
+ IL_0088: stloc.3
+ .try
+ {
+ IL_0089: br.s IL_00a1
+
+ IL_008b: ldloca.s V_3
+ IL_008d: call instance !0 valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator::get_Current()
+ IL_0092: stloc.s V_4
+ IL_0094: ldarg.0
+ IL_0095: ldfld class [EnvDTE100]EnvDTE100.Solution4 TemplateBuilder.SolutionWizard::_solution
+ IL_009a: ldloc.s V_4
+ IL_009c: callvirt instance void [EnvDTE100]EnvDTE100.Solution4::Remove(class [EnvDTE]EnvDTE.Project)
+ IL_00a1: ldloca.s V_3
+ IL_00a3: call instance bool valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator::MoveNext()
+ IL_00a8: brtrue.s IL_008b
+
+ IL_00aa: leave.s IL_00ba
+
+ } // end .try
+ finally
+ {
+ IL_00ac: ldloca.s V_3
+ IL_00ae: constrained. valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator
+ IL_00b4: callvirt instance void [mscorlib]System.IDisposable::Dispose()
+ IL_00b9: endfinally
+ } // end handler
+ IL_00ba: ldloc.2
+ IL_00bb: ldsfld class [mscorlib]System.Func`2,bool> TemplateBuilder.SolutionWizard/'<>c'::'<>9__5_0'
+ IL_00c0: dup
+ IL_00c1: brtrue.s IL_00da
+
+ IL_00c3: pop
+ IL_00c4: ldsfld class TemplateBuilder.SolutionWizard/'<>c' TemplateBuilder.SolutionWizard/'<>c'::'<>9'
+ IL_00c9: ldftn instance bool TemplateBuilder.SolutionWizard/'<>c'::'b__5_0'(valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2)
+ IL_00cf: newobj instance void class [mscorlib]System.Func`2,bool>::.ctor(object,
+ native int)
+ IL_00d4: dup
+ IL_00d5: stsfld class [mscorlib]System.Func`2,bool> TemplateBuilder.SolutionWizard/'<>c'::'<>9__5_0'
+ IL_00da: call class [mscorlib]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::Where>(class [mscorlib]System.Collections.Generic.IEnumerable`1,
+ class [mscorlib]System.Func`2)
+ IL_00df: callvirt instance class [mscorlib]System.Collections.Generic.IEnumerator`1 class [mscorlib]System.Collections.Generic.IEnumerable`1>::GetEnumerator()
+ IL_00e4: stloc.s V_5
+ .try
+ {
+ IL_00e6: br.s IL_0136
+
+ IL_00e8: ldloc.s V_5
+ IL_00ea: callvirt instance !0 class [mscorlib]System.Collections.Generic.IEnumerator`1>::get_Current()
+ IL_00ef: stloc.s V_6
+ IL_00f1: ldloca.s V_6
+ IL_00f3: call instance !0 valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2::get_Key()
+ IL_00f8: brfalse.s IL_0122
+
+ IL_00fa: ldloca.s V_6
+ IL_00fc: call instance !0 valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2::get_Key()
+ IL_0101: callvirt instance object [EnvDTE]EnvDTE.Project::get_Object()
+ IL_0106: isinst [EnvDTE80]EnvDTE80.SolutionFolder
+ IL_010b: stloc.s V_7
+ IL_010d: ldloc.s V_7
+ IL_010f: brfalse.s IL_0136
+
+ IL_0111: ldloc.s V_7
+ IL_0113: ldloca.s V_6
+ IL_0115: call instance !1 valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2::get_Value()
+ IL_011a: callvirt instance class [EnvDTE]EnvDTE.Project [EnvDTE80]EnvDTE80.SolutionFolder::AddFromFile(string)
+ IL_011f: pop
+ IL_0120: br.s IL_0136
+
+ IL_0122: ldarg.0
+ IL_0123: ldfld class [EnvDTE100]EnvDTE100.Solution4 TemplateBuilder.SolutionWizard::_solution
+ IL_0128: ldloca.s V_6
+ IL_012a: call instance !1 valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2::get_Value()
+ IL_012f: ldc.i4.1
+ IL_0130: callvirt instance class [EnvDTE]EnvDTE.Project [EnvDTE100]EnvDTE100.Solution4::AddFromFile(string,
+ bool)
+ IL_0135: pop
+ IL_0136: ldloc.s V_5
+ IL_0138: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_013d: brtrue.s IL_00e8
+
+ IL_013f: leave.s IL_014d
+
+ } // end .try
+ finally
+ {
+ IL_0141: ldloc.s V_5
+ IL_0143: brfalse.s IL_014c
+
+ IL_0145: ldloc.s V_5
+ IL_0147: callvirt instance void [mscorlib]System.IDisposable::Dispose()
+ IL_014c: endfinally
+ } // end handler
+ IL_014d: ldloc.0
+ IL_014e: ldftn instance void TemplateBuilder.SolutionWizard/'<>c__DisplayClass5_0'::'b__1'(object)
+ IL_0154: newobj instance void [mscorlib]System.Threading.WaitCallback::.ctor(object,
+ native int)
+ IL_0159: call bool [mscorlib]System.Threading.ThreadPool::QueueUserWorkItem(class [mscorlib]System.Threading.WaitCallback)
+ IL_015e: pop
+ IL_015f: ret
+ } // end of method SolutionWizard::RunFinished
+
+ .method public hidebysig newslot virtual final
+ instance void BeforeOpeningFile(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method SolutionWizard::BeforeOpeningFile
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectItemFinishedGenerating(class [EnvDTE]EnvDTE.ProjectItem projectItem) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method SolutionWizard::ProjectItemFinishedGenerating
+
+ .method public hidebysig newslot virtual final
+ instance void ProjectFinishedGenerating(class [EnvDTE]EnvDTE.Project project) cil managed
+ {
+ // Code size 1 (0x1)
+ .maxstack 8
+ IL_0000: ret
+ } // end of method SolutionWizard::ProjectFinishedGenerating
+
+ .method private hidebysig static void CopyDirectory(string sourceDirectory,
+ string destDirectory) cil managed
+ {
+ // Code size 126 (0x7e)
+ .maxstack 2
+ .locals init (string[] V_0,
+ int32 V_1,
+ string V_2,
+ string V_3,
+ string V_4,
+ string V_5,
+ string V_6,
+ string V_7)
+ IL_0000: ldarg.1
+ IL_0001: call bool [mscorlib]System.IO.Directory::Exists(string)
+ IL_0006: brtrue.s IL_000f
+
+ IL_0008: ldarg.1
+ IL_0009: call class [mscorlib]System.IO.DirectoryInfo [mscorlib]System.IO.Directory::CreateDirectory(string)
+ IL_000e: pop
+ IL_000f: ldarg.0
+ IL_0010: call string[] [mscorlib]System.IO.Directory::GetFiles(string)
+ IL_0015: stloc.0
+ IL_0016: ldc.i4.0
+ IL_0017: stloc.1
+ IL_0018: br.s IL_003d
+
+ IL_001a: ldloc.0
+ IL_001b: ldloc.1
+ IL_001c: ldelem.ref
+ IL_001d: stloc.2
+ IL_001e: ldloc.2
+ IL_001f: call string [mscorlib]System.IO.Path::GetFileName(string)
+ IL_0024: stloc.3
+ IL_0025: ldloc.3
+ IL_0026: brfalse.s IL_0039
+
+ IL_0028: ldarg.1
+ IL_0029: ldloc.3
+ IL_002a: call string [mscorlib]System.IO.Path::Combine(string,
+ string)
+ IL_002f: stloc.s V_4
+ IL_0031: ldloc.2
+ IL_0032: ldloc.s V_4
+ IL_0034: call void [mscorlib]System.IO.File::Copy(string,
+ string)
+ IL_0039: ldloc.1
+ IL_003a: ldc.i4.1
+ IL_003b: add
+ IL_003c: stloc.1
+ IL_003d: ldloc.1
+ IL_003e: ldloc.0
+ IL_003f: ldlen
+ IL_0040: conv.i4
+ IL_0041: blt.s IL_001a
+
+ IL_0043: ldarg.0
+ IL_0044: call string[] [mscorlib]System.IO.Directory::GetDirectories(string)
+ IL_0049: stloc.0
+ IL_004a: ldc.i4.0
+ IL_004b: stloc.1
+ IL_004c: br.s IL_0077
+
+ IL_004e: ldloc.0
+ IL_004f: ldloc.1
+ IL_0050: ldelem.ref
+ IL_0051: stloc.s V_5
+ IL_0053: ldloc.s V_5
+ IL_0055: call string [mscorlib]System.IO.Path::GetFileName(string)
+ IL_005a: stloc.s V_6
+ IL_005c: ldloc.s V_6
+ IL_005e: brfalse.s IL_0073
+
+ IL_0060: ldarg.1
+ IL_0061: ldloc.s V_6
+ IL_0063: call string [mscorlib]System.IO.Path::Combine(string,
+ string)
+ IL_0068: stloc.s V_7
+ IL_006a: ldloc.s V_5
+ IL_006c: ldloc.s V_7
+ IL_006e: call void TemplateBuilder.SolutionWizard::CopyDirectory(string,
+ string)
+ IL_0073: ldloc.1
+ IL_0074: ldc.i4.1
+ IL_0075: add
+ IL_0076: stloc.1
+ IL_0077: ldloc.1
+ IL_0078: ldloc.0
+ IL_0079: ldlen
+ IL_007a: conv.i4
+ IL_007b: blt.s IL_004e
+
+ IL_007d: ret
+ } // end of method SolutionWizard::CopyDirectory
+
+ .method private hidebysig static void DeleteDirectory(string directory,
+ [opt] int32 inUseRetryCount) cil managed
+ {
+ .param [2] = int32(0x00000003)
+ // Code size 114 (0x72)
+ .maxstack 2
+ .locals init (int32 V_0,
+ string[] V_1,
+ int32 V_2,
+ string V_3)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: br.s IL_006d
+
+ IL_0004: nop
+ .try
+ {
+ IL_0005: ldarg.0
+ IL_0006: call bool [mscorlib]System.IO.Directory::Exists(string)
+ IL_000b: brtrue.s IL_000f
+
+ IL_000d: leave.s IL_0071
+
+ IL_000f: ldarg.0
+ IL_0010: call string[] [mscorlib]System.IO.Directory::GetFiles(string)
+ IL_0015: stloc.1
+ IL_0016: ldc.i4.0
+ IL_0017: stloc.2
+ IL_0018: br.s IL_0026
+
+ IL_001a: ldloc.1
+ IL_001b: ldloc.2
+ IL_001c: ldelem.ref
+ IL_001d: call void [mscorlib]System.IO.File::Delete(string)
+ IL_0022: ldloc.2
+ IL_0023: ldc.i4.1
+ IL_0024: add
+ IL_0025: stloc.2
+ IL_0026: ldloc.2
+ IL_0027: ldloc.1
+ IL_0028: ldlen
+ IL_0029: conv.i4
+ IL_002a: blt.s IL_001a
+
+ IL_002c: ldarg.0
+ IL_002d: call string[] [mscorlib]System.IO.Directory::GetDirectories(string)
+ IL_0032: stloc.1
+ IL_0033: ldc.i4.0
+ IL_0034: stloc.2
+ IL_0035: br.s IL_004e
+
+ IL_0037: ldloc.1
+ IL_0038: ldloc.2
+ IL_0039: ldelem.ref
+ IL_003a: stloc.3
+ IL_003b: ldloc.3
+ IL_003c: call string [mscorlib]System.IO.Path::GetFileName(string)
+ IL_0041: brfalse.s IL_004a
+
+ IL_0043: ldloc.3
+ IL_0044: ldc.i4.3
+ IL_0045: call void TemplateBuilder.SolutionWizard::DeleteDirectory(string,
+ int32)
+ IL_004a: ldloc.2
+ IL_004b: ldc.i4.1
+ IL_004c: add
+ IL_004d: stloc.2
+ IL_004e: ldloc.2
+ IL_004f: ldloc.1
+ IL_0050: ldlen
+ IL_0051: conv.i4
+ IL_0052: blt.s IL_0037
+
+ IL_0054: ldarg.0
+ IL_0055: call void [mscorlib]System.IO.Directory::Delete(string)
+ IL_005a: leave.s IL_0071
+
+ } // end .try
+ catch [mscorlib]System.Exception
+ {
+ IL_005c: pop
+ IL_005d: ldc.i4 0x7d0
+ IL_0062: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0067: ldloc.0
+ IL_0068: ldc.i4.1
+ IL_0069: add
+ IL_006a: stloc.0
+ IL_006b: leave.s IL_006d
+
+ } // end handler
+ IL_006d: ldloc.0
+ IL_006e: ldarg.1
+ IL_006f: blt.s IL_0004
+
+ IL_0071: ret
+ } // end of method SolutionWizard::DeleteDirectory
+
+ .method private hidebysig instance valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2
+ AdjustProjectLocation(class [EnvDTE]EnvDTE.Project project) cil managed
+ {
+ // Code size 152 (0x98)
+ .maxstack 3
+ .locals init (string V_0,
+ string V_1,
+ class [EnvDTE]EnvDTE.Project V_2,
+ string V_3,
+ string V_4,
+ string V_5,
+ valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2 V_6)
+ IL_0000: ldarg.1
+ IL_0001: callvirt instance string [EnvDTE]EnvDTE.Project::get_FullName()
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: call string [mscorlib]System.IO.Path::GetFileName(string)
+ IL_000d: stloc.1
+ IL_000e: ldloc.1
+ IL_000f: brtrue.s IL_001c
+
+ IL_0011: ldloca.s V_6
+ IL_0013: initobj valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2
+ IL_0019: ldloc.s V_6
+ IL_001b: ret
+
+ IL_001c: ldarg.1
+ IL_001d: callvirt instance class [EnvDTE]EnvDTE.ProjectItem [EnvDTE]EnvDTE.Project::get_ParentProjectItem()
+ IL_0022: callvirt instance class [EnvDTE]EnvDTE.Project [EnvDTE]EnvDTE.ProjectItem::get_ContainingProject()
+ IL_0027: callvirt instance string [EnvDTE]EnvDTE.Project::get_Kind()
+ IL_002c: ldstr "{66A26720-8FB5-11D2-AA7E-00C04F688DDE}"
+ IL_0031: call bool [mscorlib]System.String::op_Equality(string,
+ string)
+ IL_0036: brtrue.s IL_003b
+
+ IL_0038: ldnull
+ IL_0039: br.s IL_0046
+
+ IL_003b: ldarg.1
+ IL_003c: callvirt instance class [EnvDTE]EnvDTE.ProjectItem [EnvDTE]EnvDTE.Project::get_ParentProjectItem()
+ IL_0041: callvirt instance class [EnvDTE]EnvDTE.Project [EnvDTE]EnvDTE.ProjectItem::get_ContainingProject()
+ IL_0046: stloc.2
+ IL_0047: ldloc.0
+ IL_0048: call string [mscorlib]System.IO.Path::GetDirectoryName(string)
+ IL_004d: stloc.3
+ IL_004e: ldloc.3
+ IL_004f: call string [mscorlib]System.IO.Path::GetDirectoryName(string)
+ IL_0054: call string [mscorlib]System.IO.Path::GetDirectoryName(string)
+ IL_0059: stloc.s V_4
+ IL_005b: ldloc.s V_4
+ IL_005d: brtrue.s IL_006a
+
+ IL_005f: ldloca.s V_6
+ IL_0061: initobj valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2
+ IL_0067: ldloc.s V_6
+ IL_0069: ret
+
+ IL_006a: ldloc.s V_4
+ IL_006c: ldloc.1
+ IL_006d: call string [mscorlib]System.IO.Path::GetFileNameWithoutExtension(string)
+ IL_0072: call string [mscorlib]System.IO.Path::Combine(string,
+ string)
+ IL_0077: stloc.s V_5
+ IL_0079: ldloc.s V_5
+ IL_007b: call class [mscorlib]System.IO.DirectoryInfo [mscorlib]System.IO.Directory::CreateDirectory(string)
+ IL_0080: pop
+ IL_0081: ldloc.3
+ IL_0082: ldloc.s V_5
+ IL_0084: call void TemplateBuilder.SolutionWizard::CopyDirectory(string,
+ string)
+ IL_0089: ldloc.2
+ IL_008a: ldloc.s V_5
+ IL_008c: ldloc.1
+ IL_008d: call string [mscorlib]System.IO.Path::Combine(string,
+ string)
+ IL_0092: newobj instance void valuetype [mscorlib]System.Collections.Generic.KeyValuePair`2::.ctor(!0,
+ !1)
+ IL_0097: ret
+ } // end of method SolutionWizard::AdjustProjectLocation
+
+ .method private hidebysig instance class [mscorlib]System.Collections.Generic.IList`1
+ GetProjects() cil managed
+ {
+ // Code size 89 (0x59)
+ .maxstack 2
+ .locals init (class [mscorlib]System.Collections.Generic.List`1 V_0,
+ class [mscorlib]System.Collections.IEnumerator V_1,
+ class [EnvDTE]EnvDTE.Project V_2)
+ IL_0000: ldarg.0
+ IL_0001: ldfld class [EnvDTE100]EnvDTE100.Solution4 TemplateBuilder.SolutionWizard::_solution
+ IL_0006: callvirt instance class [EnvDTE]EnvDTE.Projects [EnvDTE100]EnvDTE100.Solution4::get_Projects()
+ IL_000b: newobj instance void class [mscorlib]System.Collections.Generic.List`1::.ctor()
+ IL_0010: stloc.0
+ IL_0011: callvirt instance class [mscorlib]System.Collections.IEnumerator [EnvDTE]EnvDTE.Projects::GetEnumerator()
+ IL_0016: stloc.1
+ IL_0017: br.s IL_004f
+
+ IL_0019: ldloc.1
+ IL_001a: callvirt instance object [mscorlib]System.Collections.IEnumerator::get_Current()
+ IL_001f: isinst [EnvDTE]EnvDTE.Project
+ IL_0024: stloc.2
+ IL_0025: ldloc.2
+ IL_0026: brfalse.s IL_004f
+
+ IL_0028: ldloc.2
+ IL_0029: callvirt instance string [EnvDTE]EnvDTE.Project::get_Kind()
+ IL_002e: ldstr "{66A26720-8FB5-11D2-AA7E-00C04F688DDE}"
+ IL_0033: call bool [mscorlib]System.String::op_Equality(string,
+ string)
+ IL_0038: brfalse.s IL_0048
+
+ IL_003a: ldloc.0
+ IL_003b: ldloc.2
+ IL_003c: call class [mscorlib]System.Collections.Generic.IEnumerable`1 TemplateBuilder.SolutionWizard::GetSolutionFolderProjects(class [EnvDTE]EnvDTE.Project)
+ IL_0041: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::AddRange(class [mscorlib]System.Collections.Generic.IEnumerable`1)
+ IL_0046: br.s IL_004f
+
+ IL_0048: ldloc.0
+ IL_0049: ldloc.2
+ IL_004a: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0)
+ IL_004f: ldloc.1
+ IL_0050: callvirt instance bool [mscorlib]System.Collections.IEnumerator::MoveNext()
+ IL_0055: brtrue.s IL_0019
+
+ IL_0057: ldloc.0
+ IL_0058: ret
+ } // end of method SolutionWizard::GetProjects
+
+ .method private hidebysig static class [mscorlib]System.Collections.Generic.IEnumerable`1
+ GetSolutionFolderProjects(class [EnvDTE]EnvDTE.Project solutionFolder) cil managed
+ {
+ // Code size 95 (0x5f)
+ .maxstack 2
+ .locals init (class [mscorlib]System.Collections.Generic.List`1 V_0,
+ int32 V_1,
+ class [EnvDTE]EnvDTE.Project V_2)
+ IL_0000: newobj instance void class [mscorlib]System.Collections.Generic.List`1::.ctor()
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.1
+ IL_0007: stloc.1
+ IL_0008: br.s IL_004f
+
+ IL_000a: ldarg.0
+ IL_000b: callvirt instance class [EnvDTE]EnvDTE.ProjectItems [EnvDTE]EnvDTE.Project::get_ProjectItems()
+ IL_0010: ldloc.1
+ IL_0011: box [mscorlib]System.Int32
+ IL_0016: callvirt instance class [EnvDTE]EnvDTE.ProjectItem [EnvDTE]EnvDTE.ProjectItems::Item(object)
+ IL_001b: callvirt instance class [EnvDTE]EnvDTE.Project [EnvDTE]EnvDTE.ProjectItem::get_SubProject()
+ IL_0020: stloc.2
+ IL_0021: ldloc.2
+ IL_0022: brfalse.s IL_004b
+
+ IL_0024: ldloc.2
+ IL_0025: callvirt instance string [EnvDTE]EnvDTE.Project::get_Kind()
+ IL_002a: ldstr "{66A26720-8FB5-11D2-AA7E-00C04F688DDE}"
+ IL_002f: call bool [mscorlib]System.String::op_Equality(string,
+ string)
+ IL_0034: brfalse.s IL_0044
+
+ IL_0036: ldloc.0
+ IL_0037: ldloc.2
+ IL_0038: call class [mscorlib]System.Collections.Generic.IEnumerable`1 TemplateBuilder.SolutionWizard::GetSolutionFolderProjects(class [EnvDTE]EnvDTE.Project)
+ IL_003d: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::AddRange(class [mscorlib]System.Collections.Generic.IEnumerable`1)
+ IL_0042: br.s IL_004b
+
+ IL_0044: ldloc.0
+ IL_0045: ldloc.2
+ IL_0046: callvirt instance void class [mscorlib]System.Collections.Generic.List`1::Add(!0)
+ IL_004b: ldloc.1
+ IL_004c: ldc.i4.1
+ IL_004d: add
+ IL_004e: stloc.1
+ IL_004f: ldloc.1
+ IL_0050: ldarg.0
+ IL_0051: callvirt instance class [EnvDTE]EnvDTE.ProjectItems [EnvDTE]EnvDTE.Project::get_ProjectItems()
+ IL_0056: callvirt instance int32 [EnvDTE]EnvDTE.ProjectItems::get_Count()
+ IL_005b: ble.s IL_000a
+
+ IL_005d: ldloc.0
+ IL_005e: ret
+ } // end of method SolutionWizard::GetSolutionFolderProjects
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method SolutionWizard::.ctor
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ // Code size 11 (0xb)
+ .maxstack 8
+ IL_0000: newobj instance void class [mscorlib]System.Collections.Generic.Dictionary`2::.ctor()
+ IL_0005: stsfld class [mscorlib]System.Collections.Generic.Dictionary`2 TemplateBuilder.SolutionWizard::GlobalDictionary
+ IL_000a: ret
+ } // end of method SolutionWizard::.cctor
+
+} // end of class TemplateBuilder.SolutionWizard
+
+.class private abstract auto ansi sealed beforefieldinit TemplateBuilder.Helpers.PathHelper
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static string
+ GetRelativePath(string fromPath,
+ string toPath) cil managed
+ {
+ // Code size 139 (0x8b)
+ .maxstack 3
+ .locals init (class [System]System.Uri V_0,
+ class [System]System.Uri V_1,
+ string V_2)
+ IL_0000: ldarg.0
+ IL_0001: call bool [mscorlib]System.String::IsNullOrEmpty(string)
+ IL_0006: brfalse.s IL_0013
+
+ IL_0008: ldstr "fromPath"
+ IL_000d: newobj instance void [mscorlib]System.ArgumentNullException::.ctor(string)
+ IL_0012: throw
+
+ IL_0013: ldarg.1
+ IL_0014: call bool [mscorlib]System.String::IsNullOrEmpty(string)
+ IL_0019: brfalse.s IL_0026
+
+ IL_001b: ldstr "toPath"
+ IL_0020: newobj instance void [mscorlib]System.ArgumentNullException::.ctor(string)
+ IL_0025: throw
+
+ IL_0026: ldarg.0
+ IL_0027: call string TemplateBuilder.Helpers.PathHelper::AppendDirectorySeparatorChar(string)
+ IL_002c: newobj instance void [System]System.Uri::.ctor(string)
+ IL_0031: stloc.0
+ IL_0032: ldarg.1
+ IL_0033: call string TemplateBuilder.Helpers.PathHelper::AppendDirectorySeparatorChar(string)
+ IL_0038: newobj instance void [System]System.Uri::.ctor(string)
+ IL_003d: stloc.1
+ IL_003e: ldloc.0
+ IL_003f: callvirt instance string [System]System.Uri::get_Scheme()
+ IL_0044: ldloc.1
+ IL_0045: callvirt instance string [System]System.Uri::get_Scheme()
+ IL_004a: call bool [mscorlib]System.String::op_Inequality(string,
+ string)
+ IL_004f: brfalse.s IL_0053
+
+ IL_0051: ldarg.1
+ IL_0052: ret
+
+ IL_0053: ldloc.0
+ IL_0054: ldloc.1
+ IL_0055: callvirt instance class [System]System.Uri [System]System.Uri::MakeRelativeUri(class [System]System.Uri)
+ IL_005a: callvirt instance string [mscorlib]System.Object::ToString()
+ IL_005f: call string [System]System.Uri::UnescapeDataString(string)
+ IL_0064: stloc.2
+ IL_0065: ldloc.1
+ IL_0066: callvirt instance string [System]System.Uri::get_Scheme()
+ IL_006b: ldsfld string [System]System.Uri::UriSchemeFile
+ IL_0070: ldc.i4.5
+ IL_0071: call bool [mscorlib]System.String::Equals(string,
+ string,
+ valuetype [mscorlib]System.StringComparison)
+ IL_0076: brfalse.s IL_0089
+
+ IL_0078: ldloc.2
+ IL_0079: ldsfld char [mscorlib]System.IO.Path::AltDirectorySeparatorChar
+ IL_007e: ldsfld char [mscorlib]System.IO.Path::DirectorySeparatorChar
+ IL_0083: callvirt instance string [mscorlib]System.String::Replace(char,
+ char)
+ IL_0088: stloc.2
+ IL_0089: ldloc.2
+ IL_008a: ret
+ } // end of method PathHelper::GetRelativePath
+
+ .method private hidebysig static string
+ AppendDirectorySeparatorChar(string directoryPath) cil managed
+ {
+ // Code size 43 (0x2b)
+ .maxstack 2
+ .locals init (char V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldsfld char [mscorlib]System.IO.Path::DirectorySeparatorChar
+ IL_0006: stloc.0
+ IL_0007: ldloca.s V_0
+ IL_0009: call instance string [mscorlib]System.Char::ToString()
+ IL_000e: callvirt instance bool [mscorlib]System.String::EndsWith(string)
+ IL_0013: brtrue.s IL_0029
+
+ IL_0015: ldarg.0
+ IL_0016: ldsfld char [mscorlib]System.IO.Path::DirectorySeparatorChar
+ IL_001b: stloc.0
+ IL_001c: ldloca.s V_0
+ IL_001e: call instance string [mscorlib]System.Char::ToString()
+ IL_0023: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_0028: ret
+
+ IL_0029: ldarg.0
+ IL_002a: ret
+ } // end of method PathHelper::AppendDirectorySeparatorChar
+
+} // end of class TemplateBuilder.Helpers.PathHelper
+
+.class private abstract auto ansi sealed beforefieldinit TemplateBuilder.Helpers.ProjectHelper
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static void ReloadProject(class [EnvDTE]EnvDTE.Project currentProject) cil managed
+ {
+ // Code size 157 (0x9d)
+ .maxstack 5
+ .locals init (string V_0,
+ string V_1)
+ IL_0000: ldtoken [EnvDTE]EnvDTE.DTE
+ IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_000a: call object ['Microsoft.VisualStudio.Shell.14.0']Microsoft.VisualStudio.Shell.Package::GetGlobalService(class [mscorlib]System.Type)
+ IL_000f: castclass [EnvDTE80]EnvDTE80.DTE2
+ IL_0014: dup
+ IL_0015: ldstr "File.SaveAll"
+ IL_001a: ldstr ""
+ IL_001f: callvirt instance void [EnvDTE80]EnvDTE80.DTE2::ExecuteCommand(string,
+ string)
+ IL_0024: dup
+ IL_0025: callvirt instance class [EnvDTE]EnvDTE.Solution [EnvDTE80]EnvDTE80.DTE2::get_Solution()
+ IL_002a: callvirt instance string [EnvDTE]EnvDTE._Solution::get_FullName()
+ IL_002f: call string [mscorlib]System.IO.Path::GetFileNameWithoutExtension(string)
+ IL_0034: stloc.0
+ IL_0035: ldarg.0
+ IL_0036: callvirt instance string [EnvDTE]EnvDTE.Project::get_Name()
+ IL_003b: stloc.1
+ IL_003c: dup
+ IL_003d: callvirt instance class [EnvDTE]EnvDTE.Windows [EnvDTE80]EnvDTE80.DTE2::get_Windows()
+ IL_0042: ldstr "{3AE79031-E1BC-11D0-8F78-00A0C9110057}"
+ IL_0047: callvirt instance class [EnvDTE]EnvDTE.Window [EnvDTE]EnvDTE.Windows::Item(object)
+ IL_004c: callvirt instance void [EnvDTE]EnvDTE.Window::Activate()
+ IL_0051: dup
+ IL_0052: callvirt instance class [EnvDTE80]EnvDTE80.ToolWindows [EnvDTE80]EnvDTE80.DTE2::get_ToolWindows()
+ IL_0057: callvirt instance class [EnvDTE]EnvDTE.UIHierarchy [EnvDTE80]EnvDTE80.ToolWindows::get_SolutionExplorer()
+ IL_005c: ldloc.0
+ IL_005d: ldstr "\\"
+ IL_0062: ldloc.1
+ IL_0063: call string [mscorlib]System.String::Concat(string,
+ string,
+ string)
+ IL_0068: callvirt instance class [EnvDTE]EnvDTE.UIHierarchyItem [EnvDTE]EnvDTE.UIHierarchy::GetItem(string)
+ IL_006d: ldc.i4.1
+ IL_006e: callvirt instance void [EnvDTE]EnvDTE.UIHierarchyItem::Select(valuetype [EnvDTE]EnvDTE.vsUISelectionType)
+ IL_0073: dup
+ IL_0074: ldstr "Project.UnloadProject"
+ IL_0079: ldstr ""
+ IL_007e: callvirt instance void [EnvDTE80]EnvDTE80.DTE2::ExecuteCommand(string,
+ string)
+ IL_0083: ldc.i4 0x1f4
+ IL_0088: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_008d: ldstr "Project.ReloadProject"
+ IL_0092: ldstr ""
+ IL_0097: callvirt instance void [EnvDTE80]EnvDTE80.DTE2::ExecuteCommand(string,
+ string)
+ IL_009c: ret
+ } // end of method ProjectHelper::ReloadProject
+
+} // end of class TemplateBuilder.Helpers.ProjectHelper
+
+
+// =============================================================
+
+// *********** DISASSEMBLY COMPLETE ***********************
+// WARNING: Created Win32 resource file C:\Users\Tato\AppData\Local\Temp\ildasm-scan-6200517ead0d4b9b93987cc758a39231\TemplateBuilder-result.res
diff --git a/src/VsExtension2022/envdte-upgrade/image001.jpg b/src/VsExtension2022/envdte-upgrade/image001.jpg
new file mode 100644
index 0000000..0f09bf8
Binary files /dev/null and b/src/VsExtension2022/envdte-upgrade/image001.jpg differ
diff --git a/src/VsExtension2022/envdte-upgrade/info.txt b/src/VsExtension2022/envdte-upgrade/info.txt
new file mode 100644
index 0000000..282f93e
--- /dev/null
+++ b/src/VsExtension2022/envdte-upgrade/info.txt
@@ -0,0 +1 @@
+ ildasm /text "{Extension Assembly}.dll" /output:result.txt
\ No newline at end of file
diff --git a/tools/FoundEnvDteRef/FoundEnvDteRef.csproj b/tools/FoundEnvDteRef/FoundEnvDteRef.csproj
new file mode 100644
index 0000000..74abf5c
--- /dev/null
+++ b/tools/FoundEnvDteRef/FoundEnvDteRef.csproj
@@ -0,0 +1,10 @@
+
+
+
+ Exe
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/tools/FoundEnvDteRef/FoundEnvDteRef.sln b/tools/FoundEnvDteRef/FoundEnvDteRef.sln
new file mode 100644
index 0000000..e84c168
--- /dev/null
+++ b/tools/FoundEnvDteRef/FoundEnvDteRef.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FoundEnvDteRef", "FoundEnvDteRef.csproj", "{43D88079-36A8-42DB-B7F8-5D8D0A9B5C75}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {43D88079-36A8-42DB-B7F8-5D8D0A9B5C75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {43D88079-36A8-42DB-B7F8-5D8D0A9B5C75}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {43D88079-36A8-42DB-B7F8-5D8D0A9B5C75}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {43D88079-36A8-42DB-B7F8-5D8D0A9B5C75}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {D80566A1-605F-471F-B612-627D586C35FB}
+ EndGlobalSection
+EndGlobal
diff --git a/tools/FoundEnvDteRef/Program.cs b/tools/FoundEnvDteRef/Program.cs
new file mode 100644
index 0000000..cb0ccf3
--- /dev/null
+++ b/tools/FoundEnvDteRef/Program.cs
@@ -0,0 +1,73 @@
+using System.Diagnostics;
+
+if (args.Length == 0)
+{
+ Console.WriteLine("Expect parameter with directory path.");
+ return;
+}
+
+var sourceFolder = args[0];
+if (Directory.Exists(sourceFolder))
+{
+ const string ildasm = @"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ildasm.exe";
+ var tempPath = Path.Combine(Path.GetTempPath(), $"ildasm-scan-{Guid.NewGuid():N}");
+ Directory.CreateDirectory(tempPath);
+
+ var dllFiles = Directory.GetFiles(sourceFolder, "*.dll", SearchOption.AllDirectories);
+ Console.WriteLine($"Found {dllFiles.Length} files in folder: {sourceFolder}");
+
+ int idx = 0;
+ int failed = 0;
+ foreach (var dllFile in dllFiles)
+ {
+ idx++;
+ var fileInfo = new FileInfo(dllFile);
+ string progress = $"({idx}/{dllFiles.Length})";
+ Console.WriteLine($"Scanning file: {dllFile} {progress} ...");
+ string outputFile = Path.Combine(tempPath, Path.GetFileNameWithoutExtension(dllFile) + "-result.lhqres");
+ try
+ {
+ var process = Process.Start(new ProcessStartInfo(ildasm, $"/text \"{dllFile}\" /output:\"{outputFile}\""));
+ if (process != null)
+ {
+ process.WaitForExit(30 * 1000);
+ if (process.ExitCode == 0)
+ {
+ Console.WriteLine($"\tScan of file: {fileInfo.Name} {progress} completed successfully.");
+ }
+ else
+ {
+ failed++;
+ Console.WriteLine($"\tScan of file: {fileInfo.Name} {progress} failed with exit code: {process.ExitCode}.");
+ }
+ }
+ else
+ {
+ Console.WriteLine($"Failed to scan file: {fileInfo.Name} {progress}, could not start scan ildasm on file!");
+ }
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine($"Failed to scan file: {fileInfo.Name} {progress}, error: {e.Message}");
+ }
+ }
+
+ var filesToRemove = from file in Directory.GetFiles(tempPath, "*.*", SearchOption.TopDirectoryOnly)
+ let fileInfo = new FileInfo(file)
+ where fileInfo.Extension != ".lhqres"
+ select file;
+
+ foreach (var file in filesToRemove)
+ {
+ File.Delete(file);
+ }
+
+ Console.WriteLine($"Scanning ended for {dllFiles.Length} files in folder: {sourceFolder}");
+ Console.WriteLine($"\t{failed} files failed on scan");
+ Console.WriteLine($"\t{dllFiles.Length-failed} files succeed on scan");
+ Console.WriteLine($"Result files can be found at:\n{tempPath}");
+}
+else
+{
+ Console.WriteLine($"Directory {sourceFolder} does not exist!");
+}
\ No newline at end of file