Browse Source

Allow Powershell to use EnvDTE.Globals properties as methods.

Added a VB.NET Globals class which implements multiple parameterised properties which are not supported in C#.
This allows Powershell to use properties on the Globals class as though they were methods:

$dte.Solution.Globals.VariableValue("MyValue") = "value"
Write-Host $dte.Solution.Globals.VariableValue("MyValue")
$dte.Solution.Globals.VariablePersists("MyValue") = $true
Write-Host $dte.Solution.Globals.VariablePersists("MyValue")
pull/28/head
Matt Ward 13 years ago
parent
commit
6fddd96e6c
  1. 31
      src/AddIns/Misc/PackageManagement/EnvDTEHelpers/Project/Configuration/AssemblyInfo.vb
  2. 45
      src/AddIns/Misc/PackageManagement/EnvDTEHelpers/Project/Globals.vb
  3. 50
      src/AddIns/Misc/PackageManagement/EnvDTEHelpers/Project/PackageManagement.EnvDTEHelpers.vbproj
  4. 12
      src/AddIns/Misc/PackageManagement/PackageManagement.sln
  5. 6
      src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj
  6. 2
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Solution.cs
  7. 30
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/SolutionGlobals.cs
  8. 4
      src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj
  9. 124
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/SolutionGlobalsTests.cs
  10. 3
      src/Setup/Files.wxs
  11. 1
      src/Setup/Setup.wxs

31
src/AddIns/Misc/PackageManagement/EnvDTEHelpers/Project/Configuration/AssemblyInfo.vb

@ -0,0 +1,31 @@
Imports System.Reflection
Imports System.Runtime.CompilerServices
Imports System.Runtime.InteropServices
' Information about this assembly is defined by the following
' attributes.
'
' change them to the information which is associated with the assembly
' you compile.
<assembly: AssemblyTitle("PackageManagement.EnvDTEHelpers")>
<assembly: AssemblyDescription("EnvDTE helpers for SharpDevelop")>
<assembly: AssemblyConfiguration("")>
<assembly: AssemblyCompany("ic#code")>
<assembly: AssemblyProduct("SharpDevelop")>
<assembly: AssemblyCopyright("2000-2012 AlphaSierraPapa for the SharpDevelop Team")>
<assembly: AssemblyTrademark("")>
<assembly: AssemblyCulture("")>
' This sets the default COM visibility of types in the assembly to invisible.
' If you need to expose a type to COM, use <ComVisible(true)> on that type.
<assembly: ComVisible(False)>
' The assembly version has following format :
'
' Major.Minor.Build.Revision
'
' You can specify all values by your own or you can build default build and revision
' numbers with the '*' character (the default):
<assembly: AssemblyVersion("4.3.0")>

45
src/AddIns/Misc/PackageManagement/EnvDTEHelpers/Project/Globals.vb

@ -0,0 +1,45 @@
' Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
' This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
''' <summary>
''' EnvDTE.Globals class defined in VB.NET so multiple parameterized properties can be defined
''' which are not supported in C#. This allows Powershell to use the properties as methods:
'''
''' $dte.Solution.Globals.VariablePersists("MyVariable") = $true
''' $dte.Solution.Globals.VariablePersists("MyVariable")
''' $dte.Solution.Globals.VariableValue("MyVariable") = "path/to/tool"
''' $dte.Solution.Globals.VariablePersists("MyVariable") = $true
''' </summary>
Public MustInherit Class Globals
Public Property VariableValue(ByVal name As String) As Object
Get
Return GetVariableValue(name)
End Get
Set
SetVariableValue(name, value)
End Set
End Property
Protected MustOverride Function GetVariableValue(ByVal name As String) As Object
Protected MustOverride Sub SetVariableValue(ByVal name As String, ByVal value As Object)
Public Property VariablePersists(ByVal name As String) As Boolean
Get
Return GetVariablePersists(name)
End Get
Set
SetVariablePersists(name, value)
End Set
End Property
Protected MustOverride Function GetVariablePersists(ByVal name As String) As Boolean
Protected MustOverride Sub SetVariablePersists(ByVal name As String, ByVal value As Boolean)
Public ReadOnly Property VariableExists(ByVal name As string) As Boolean
Get
Return GetVariableExists(name)
End Get
End Property
Protected MustOverride Function GetVariableExists(ByVal name As String) As Boolean
End Class

50
src/AddIns/Misc/PackageManagement/EnvDTEHelpers/Project/PackageManagement.EnvDTEHelpers.vbproj

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectGuid>{F7886FB7-3764-4574-B981-25EB164B532E}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>Library</OutputType>
<MyType>Windows</MyType>
<RootNamespace>ICSharpCode.PackageManagement.EnvDTE</RootNamespace>
<AssemblyName>PackageManagement.EnvDTEHelpers</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<AppDesignerFolder>Properties</AppDesignerFolder>
<OptionInfer>On</OptionInfer>
<OutputPath>..\..\..\..\..\..\AddIns\Misc\PackageManagement\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<DefineConstants>DEBUG=1,TRACE=1</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>True</Optimize>
<DefineConstants>TRACE=1</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
</ItemGroup>
<ItemGroup>
<Compile Include="Globals.vb" />
<Compile Include="Configuration\AssemblyInfo.vb" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

12
src/AddIns/Misc/PackageManagement/PackageManagement.sln

@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 11.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010 # Visual Studio 2010
# SharpDevelop 4.3.0.8820-alpha # SharpDevelop 4.3
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement", "Project\PackageManagement.csproj", "{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement", "Project\PackageManagement.csproj", "{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Tests", "Test\PackageManagement.Tests.csproj", "{56E98A01-8398-4A08-9578-C7337711A52B}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Tests", "Test\PackageManagement.Tests.csproj", "{56E98A01-8398-4A08-9578-C7337711A52B}"
@ -36,6 +36,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "..\..\D
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.PowerShell", "PowerShell\Project\PackageManagement.PowerShell.csproj", "{A406803B-C584-43A3-BCEE-A0BB3132CB5F}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.PowerShell", "PowerShell\Project\PackageManagement.PowerShell.csproj", "{A406803B-C584-43A3-BCEE-A0BB3132CB5F}"
EndProject EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "PackageManagement.EnvDTEHelpers", "EnvDTEHelpers\Project\PackageManagement.EnvDTEHelpers.vbproj", "{F7886FB7-3764-4574-B981-25EB164B532E}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86 Debug|x86 = Debug|x86
@ -180,5 +182,13 @@ Global
{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Debug|Any CPU.ActiveCfg = Debug|x86 {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Debug|Any CPU.ActiveCfg = Debug|x86
{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Release|Any CPU.Build.0 = Release|x86 {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Release|Any CPU.Build.0 = Release|x86
{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Release|Any CPU.ActiveCfg = Release|x86 {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Release|Any CPU.ActiveCfg = Release|x86
{F7886FB7-3764-4574-B981-25EB164B532E}.Debug|x86.Build.0 = Debug|Any CPU
{F7886FB7-3764-4574-B981-25EB164B532E}.Debug|x86.ActiveCfg = Debug|Any CPU
{F7886FB7-3764-4574-B981-25EB164B532E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F7886FB7-3764-4574-B981-25EB164B532E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F7886FB7-3764-4574-B981-25EB164B532E}.Release|x86.Build.0 = Release|Any CPU
{F7886FB7-3764-4574-B981-25EB164B532E}.Release|x86.ActiveCfg = Release|Any CPU
{F7886FB7-3764-4574-B981-25EB164B532E}.Release|Any CPU.Build.0 = Release|Any CPU
{F7886FB7-3764-4574-B981-25EB164B532E}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

6
src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj

@ -119,7 +119,6 @@
<Compile Include="Src\EnvDTE\EditPoint.cs" /> <Compile Include="Src\EnvDTE\EditPoint.cs" />
<Compile Include="Src\EnvDTE\FileCodeModel2.cs" /> <Compile Include="Src\EnvDTE\FileCodeModel2.cs" />
<Compile Include="Src\EnvDTE\FileCodeModelCodeElements.cs" /> <Compile Include="Src\EnvDTE\FileCodeModelCodeElements.cs" />
<Compile Include="Src\EnvDTE\Globals.cs" />
<Compile Include="Src\EnvDTE\ImplementedInterfacesOnClass.cs" /> <Compile Include="Src\EnvDTE\ImplementedInterfacesOnClass.cs" />
<Compile Include="Src\EnvDTE\IReturnTypeExtensions.cs" /> <Compile Include="Src\EnvDTE\IReturnTypeExtensions.cs" />
<Compile Include="Src\EnvDTE\NamespaceName.cs" /> <Compile Include="Src\EnvDTE\NamespaceName.cs" />
@ -129,6 +128,7 @@
<Compile Include="Src\EnvDTE\Reference3.cs" /> <Compile Include="Src\EnvDTE\Reference3.cs" />
<Compile Include="Src\EnvDTE\SolutionExtensibilityGlobals.cs" /> <Compile Include="Src\EnvDTE\SolutionExtensibilityGlobals.cs" />
<Compile Include="Src\EnvDTE\SolutionExtensibilityGlobalsPersistence.cs" /> <Compile Include="Src\EnvDTE\SolutionExtensibilityGlobalsPersistence.cs" />
<Compile Include="Src\EnvDTE\SolutionGlobals.cs" />
<Compile Include="Src\EnvDTE\SourceControl.cs" /> <Compile Include="Src\EnvDTE\SourceControl.cs" />
<Compile Include="Src\EnvDTE\TextPoint.cs" /> <Compile Include="Src\EnvDTE\TextPoint.cs" />
<Compile Include="Src\EnvDTE\vsCMAccess.cs" /> <Compile Include="Src\EnvDTE\vsCMAccess.cs" />
@ -507,6 +507,10 @@
<Name>AvalonEdit.AddIn</Name> <Name>AvalonEdit.AddIn</Name>
<Private>False</Private> <Private>False</Private>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\EnvDTEHelpers\Project\PackageManagement.EnvDTEHelpers.vbproj">
<Project>{F7886FB7-3764-4574-B981-25EB164B532E}</Project>
<Name>PackageManagement.EnvDTEHelpers</Name>
</ProjectReference>
<ProjectReference Include="..\PowerShell\Project\PackageManagement.PowerShell.csproj"> <ProjectReference Include="..\PowerShell\Project\PackageManagement.PowerShell.csproj">
<Project>{A406803B-C584-43A3-BCEE-A0BB3132CB5F}</Project> <Project>{A406803B-C584-43A3-BCEE-A0BB3132CB5F}</Project>
<Name>PackageManagement.PowerShell</Name> <Name>PackageManagement.PowerShell</Name>

2
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Solution.cs

@ -17,7 +17,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
this.projectService = projectService; this.projectService = projectService;
this.solution = projectService.OpenSolution; this.solution = projectService.OpenSolution;
this.Projects = new Projects(projectService); this.Projects = new Projects(projectService);
this.Globals = new Globals(this); this.Globals = new SolutionGlobals(this);
} }
public string FullName { public string FullName {

30
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Globals.cs → src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/SolutionGlobals.cs

@ -2,33 +2,41 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Collections.Generic;
using System.Linq;
using SD = ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.PackageManagement.EnvDTE namespace ICSharpCode.PackageManagement.EnvDTE
{ {
public class Globals public class SolutionGlobals : Globals
{ {
SolutionExtensibilityGlobals extensibilityGlobals; SolutionExtensibilityGlobals extensibilityGlobals;
SolutionExtensibilityGlobalsPersistence extensibilityGlobalsPersistence; SolutionExtensibilityGlobalsPersistence extensibilityGlobalsPersistence;
public Globals(Solution solution) public SolutionGlobals(Solution solution)
{ {
this.extensibilityGlobals = new SolutionExtensibilityGlobals(solution); this.extensibilityGlobals = new SolutionExtensibilityGlobals(solution);
this.extensibilityGlobalsPersistence = new SolutionExtensibilityGlobalsPersistence(extensibilityGlobals); this.extensibilityGlobalsPersistence = new SolutionExtensibilityGlobalsPersistence(extensibilityGlobals);
} }
public virtual SolutionExtensibilityGlobals VariableValue { protected override object GetVariableValue(string name)
get { return extensibilityGlobals; } {
return extensibilityGlobals[name];
}
protected override void SetVariableValue(string name, object value)
{
extensibilityGlobals[name] = value;
} }
public virtual SolutionExtensibilityGlobalsPersistence VariablePersists { protected override bool GetVariablePersists(string name)
get { return extensibilityGlobalsPersistence; } {
return extensibilityGlobalsPersistence[name];
}
protected override void SetVariablePersists(string name, bool value)
{
extensibilityGlobalsPersistence[name] = value;
} }
public virtual bool VariableExists(string name) protected override bool GetVariableExists(string name)
{ {
return extensibilityGlobals.ItemExists(name); return extensibilityGlobals.ItemExists(name);
} }

4
src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj

@ -351,6 +351,10 @@
<Project>{0162E499-42D0-409B-AA25-EED21F75336B}</Project> <Project>{0162E499-42D0-409B-AA25-EED21F75336B}</Project>
<Name>AvalonEdit.AddIn</Name> <Name>AvalonEdit.AddIn</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\EnvDTEHelpers\Project\PackageManagement.EnvDTEHelpers.vbproj">
<Project>{F7886FB7-3764-4574-B981-25EB164B532E}</Project>
<Name>PackageManagement.EnvDTEHelpers</Name>
</ProjectReference>
<ProjectReference Include="..\PowerShell\Project\PackageManagement.PowerShell.csproj"> <ProjectReference Include="..\PowerShell\Project\PackageManagement.PowerShell.csproj">
<Project>{A406803B-C584-43A3-BCEE-A0BB3132CB5F}</Project> <Project>{A406803B-C584-43A3-BCEE-A0BB3132CB5F}</Project>
<Name>PackageManagement.PowerShell</Name> <Name>PackageManagement.PowerShell</Name>

124
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/SolutionGlobalsTests.cs

@ -53,7 +53,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("test"); AddVariableToExtensibilityGlobals("test");
bool exists = globals.VariableExists("test"); bool exists = globals.get_VariableExists("test");
Assert.IsTrue(exists); Assert.IsTrue(exists);
} }
@ -63,7 +63,7 @@ namespace PackageManagement.Tests.EnvDTE
{ {
CreateSolution(); CreateSolution();
bool exists = globals.VariableExists("test"); bool exists = globals.get_VariableExists("test");
Assert.IsFalse(exists); Assert.IsFalse(exists);
} }
@ -74,7 +74,7 @@ namespace PackageManagement.Tests.EnvDTE
CreateSolution(); CreateSolution();
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
bool exists = globals.VariableExists("test"); bool exists = globals.get_VariableExists("test");
Assert.IsFalse(exists); Assert.IsFalse(exists);
} }
@ -86,7 +86,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("TEST"); AddVariableToExtensibilityGlobals("TEST");
bool exists = globals.VariableExists("test"); bool exists = globals.get_VariableExists("test");
Assert.IsTrue(exists); Assert.IsTrue(exists);
} }
@ -98,7 +98,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("test", "test-value"); AddVariableToExtensibilityGlobals("test", "test-value");
object value = globals.VariableValue["test"]; object value = globals.get_VariableValue("test");
Assert.AreEqual("test-value", value); Assert.AreEqual("test-value", value);
} }
@ -110,7 +110,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("TEST", "test-value"); AddVariableToExtensibilityGlobals("TEST", "test-value");
object value = globals.VariableValue["test"]; object value = globals.get_VariableValue("test");
Assert.AreEqual("test-value", value); Assert.AreEqual("test-value", value);
} }
@ -120,7 +120,7 @@ namespace PackageManagement.Tests.EnvDTE
{ {
CreateSolution(); CreateSolution();
Assert.Throws<ArgumentException>(delegate { object value = globals.VariableValue["test"]; }); Assert.Throws<ArgumentException>(delegate { object value = globals.get_VariableValue("test"); });
} }
[Test] [Test]
@ -129,7 +129,7 @@ namespace PackageManagement.Tests.EnvDTE
CreateSolution(); CreateSolution();
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
Assert.Throws<ArgumentException>(delegate { object value = globals.VariableValue["test"]; }); Assert.Throws<ArgumentException>(delegate { object value = globals.get_VariableValue("test"); });
} }
[Test] [Test]
@ -139,7 +139,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("test", "value"); AddVariableToExtensibilityGlobals("test", "value");
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test"); SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test");
Assert.AreEqual("new-value", item.Location); Assert.AreEqual("new-value", item.Location);
@ -151,8 +151,8 @@ namespace PackageManagement.Tests.EnvDTE
CreateSolution(); CreateSolution();
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
object value = globals.VariableValue["test"]; object value = globals.get_VariableValue("test");
Assert.AreEqual("new-value", value); Assert.AreEqual("new-value", value);
} }
@ -163,7 +163,7 @@ namespace PackageManagement.Tests.EnvDTE
CreateSolution(); CreateSolution();
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test"); SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test");
Assert.IsNull(item); Assert.IsNull(item);
@ -174,7 +174,7 @@ namespace PackageManagement.Tests.EnvDTE
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
SD.ProjectSection section = GetExtensibilityGlobalsSection(); SD.ProjectSection section = GetExtensibilityGlobalsSection();
Assert.IsNull(section); Assert.IsNull(section);
@ -185,8 +185,8 @@ namespace PackageManagement.Tests.EnvDTE
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
object value = globals.VariableValue["TEST"]; object value = globals.get_VariableValue("test");
Assert.AreEqual("new-value", value); Assert.AreEqual("new-value", value);
} }
@ -197,9 +197,9 @@ namespace PackageManagement.Tests.EnvDTE
CreateSolution(); CreateSolution();
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
globals.VariableValue["test"] = "value"; globals.set_VariableValue("test", "value");
bool exists = globals.VariableExists("test"); bool exists = globals.get_VariableExists("test");
Assert.IsTrue(exists); Assert.IsTrue(exists);
} }
@ -208,9 +208,9 @@ namespace PackageManagement.Tests.EnvDTE
public void VariablePersists_NewVariableAdded_ReturnsFalse() public void VariablePersists_NewVariableAdded_ReturnsFalse()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
bool persists = globals.VariablePersists["test"]; bool persists = globals.get_VariablePersists("test");
Assert.IsFalse(persists); Assert.IsFalse(persists);
} }
@ -220,7 +220,7 @@ namespace PackageManagement.Tests.EnvDTE
{ {
CreateSolution(); CreateSolution();
Assert.Throws<ArgumentException>(delegate { bool persists = globals.VariablePersists["test"]; }); Assert.Throws<ArgumentException>(delegate { bool persists = globals.get_VariablePersists("test"); });
} }
[Test] [Test]
@ -230,7 +230,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("test", "value"); AddVariableToExtensibilityGlobals("test", "value");
bool persists = globals.VariablePersists["test"]; bool persists = globals.get_VariablePersists("test");
Assert.IsTrue(persists); Assert.IsTrue(persists);
} }
@ -239,9 +239,9 @@ namespace PackageManagement.Tests.EnvDTE
public void VariablePersists_NoExistingExtensibilityGlobalsAndVariableSetToTrueAfterNewVariableAdded_VariableAddedToSolution() public void VariablePersists_NoExistingExtensibilityGlobalsAndVariableSetToTrueAfterNewVariableAdded_VariableAddedToSolution()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test"); SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test");
Assert.AreEqual("new-value", item.Location); Assert.AreEqual("new-value", item.Location);
@ -251,10 +251,10 @@ namespace PackageManagement.Tests.EnvDTE
public void VariablePersists_SetToTrueAfterNewVariableAdded_ReturnsTrue() public void VariablePersists_SetToTrueAfterNewVariableAdded_ReturnsTrue()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
bool persists = globals.VariablePersists["test"]; bool persists = globals.get_VariablePersists("test");
Assert.IsTrue(persists); Assert.IsTrue(persists);
} }
@ -264,9 +264,9 @@ namespace PackageManagement.Tests.EnvDTE
{ {
CreateSolution(); CreateSolution();
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test"); SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test");
Assert.AreEqual("new-value", item.Location); Assert.AreEqual("new-value", item.Location);
@ -276,9 +276,9 @@ namespace PackageManagement.Tests.EnvDTE
public void VariablePersists_SetToTrueAfterNewVariableAdded_ExtensibilityGlobalsSectionAddedWithPostSolutionType() public void VariablePersists_SetToTrueAfterNewVariableAdded_ExtensibilityGlobalsSectionAddedWithPostSolutionType()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
SD.ProjectSection section = GetExtensibilityGlobalsSection(); SD.ProjectSection section = GetExtensibilityGlobalsSection();
Assert.AreEqual("postSolution", section.SectionType); Assert.AreEqual("postSolution", section.SectionType);
@ -291,8 +291,8 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("test", "value"); AddVariableToExtensibilityGlobals("test", "value");
globals.VariablePersists["test"] = false; globals.set_VariablePersists("test", false);
bool persists = globals.VariablePersists["test"]; bool persists = globals.get_VariablePersists("test");
Assert.IsFalse(persists); Assert.IsFalse(persists);
} }
@ -304,7 +304,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("test", "value"); AddVariableToExtensibilityGlobals("test", "value");
globals.VariablePersists["test"] = false; globals.set_VariablePersists("test", false);
SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test"); SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test");
Assert.IsNull(item); Assert.IsNull(item);
@ -317,7 +317,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("test", "value"); AddVariableToExtensibilityGlobals("test", "value");
globals.VariablePersists["TEST"] = false; globals.set_VariablePersists("TEST", false);
SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test"); SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test");
Assert.IsNull(item); Assert.IsNull(item);
@ -327,10 +327,10 @@ namespace PackageManagement.Tests.EnvDTE
public void VariableValue_AddNewVariableAndPersistThenUpdateVariableValue_SolutionValueUpdated() public void VariableValue_AddNewVariableAndPersistThenUpdateVariableValue_SolutionValueUpdated()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "one"; globals.set_VariableValue("test", "one");
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
globals.VariableValue["test"] = "two"; globals.set_VariableValue("test", "two");
SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test"); SD.SolutionItem item = GetExtensibilityGlobalsSolutionItem("test");
Assert.AreEqual("two", item.Location); Assert.AreEqual("two", item.Location);
@ -340,11 +340,11 @@ namespace PackageManagement.Tests.EnvDTE
public void VariableValue_PersistVariableAfterSettingVariableValueTwice_NoExceptionThrown() public void VariableValue_PersistVariableAfterSettingVariableValueTwice_NoExceptionThrown()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "two"; globals.set_VariableValue("test", "two");
globals.VariableValue["test"] = "three"; globals.set_VariableValue("test", "three");
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
object value = globals.VariableValue["test"]; object value = globals.get_VariableValue("test");
Assert.AreEqual("three", value); Assert.AreEqual("three", value);
} }
@ -353,13 +353,13 @@ namespace PackageManagement.Tests.EnvDTE
public void VariableValue_PersistVariableMultipleTimes_NoExceptionThrown() public void VariableValue_PersistVariableMultipleTimes_NoExceptionThrown()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "two"; globals.set_VariableValue("test", "two");
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
globals.VariablePersists["test"] = false; globals.set_VariablePersists("test", false);
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
globals.VariableValue["test"] = "four"; globals.set_VariableValue("test", "four");
object value = globals.VariableValue["test"]; object value = globals.get_VariableValue("test");
Assert.AreEqual("four", value); Assert.AreEqual("four", value);
} }
@ -368,10 +368,10 @@ namespace PackageManagement.Tests.EnvDTE
public void VariablePersists_SetPersistToTrueTwice_VariableAddedToSolutionOnce() public void VariablePersists_SetPersistToTrueTwice_VariableAddedToSolutionOnce()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "one"; globals.set_VariableValue("test", "one");
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
SD.ProjectSection section = GetExtensibilityGlobalsSection(); SD.ProjectSection section = GetExtensibilityGlobalsSection();
int count = section.Items.Count; int count = section.Items.Count;
@ -382,11 +382,11 @@ namespace PackageManagement.Tests.EnvDTE
public void VariablePersists_SetPersistToFalseWhenNoExtensibilityGlobalsSection_ExceptionNotThrown() public void VariablePersists_SetPersistToFalseWhenNoExtensibilityGlobalsSection_ExceptionNotThrown()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "one"; globals.set_VariableValue("test", "one");
globals.VariablePersists["test"] = false; globals.set_VariablePersists("test", false);
object value = globals.VariableValue["test"]; object value = globals.get_VariableValue("test");
Assert.AreEqual("one", value); Assert.AreEqual("one", value);
} }
@ -394,9 +394,9 @@ namespace PackageManagement.Tests.EnvDTE
public void VariablePersists_SetToTrueAfterNewVariableAdded_SolutionIsSaved() public void VariablePersists_SetToTrueAfterNewVariableAdded_SolutionIsSaved()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
solutionHelper.AssertSolutionIsSaved(); solutionHelper.AssertSolutionIsSaved();
} }
@ -405,9 +405,9 @@ namespace PackageManagement.Tests.EnvDTE
public void VariablePersists_SetToFalseAfterNewVariableAdded_SolutionIsNotSaved() public void VariablePersists_SetToFalseAfterNewVariableAdded_SolutionIsNotSaved()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
globals.VariablePersists["test"] = false; globals.set_VariablePersists("test", false);
solutionHelper.AssertSolutionIsNotSaved(); solutionHelper.AssertSolutionIsNotSaved();
} }
@ -419,7 +419,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("test", "value"); AddVariableToExtensibilityGlobals("test", "value");
globals.VariablePersists["test"] = false; globals.set_VariablePersists("test", false);
solutionHelper.AssertSolutionIsSaved(); solutionHelper.AssertSolutionIsSaved();
} }
@ -431,7 +431,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("test", "value"); AddVariableToExtensibilityGlobals("test", "value");
globals.VariablePersists["test"] = true; globals.set_VariablePersists("test", true);
solutionHelper.AssertSolutionIsNotSaved(); solutionHelper.AssertSolutionIsNotSaved();
} }
@ -443,7 +443,7 @@ namespace PackageManagement.Tests.EnvDTE
AddExtensibilityGlobalsSection(); AddExtensibilityGlobalsSection();
AddVariableToExtensibilityGlobals("test", "value"); AddVariableToExtensibilityGlobals("test", "value");
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
solutionHelper.AssertSolutionIsSaved(); solutionHelper.AssertSolutionIsSaved();
} }
@ -452,9 +452,9 @@ namespace PackageManagement.Tests.EnvDTE
public void VariableValue_VariableNotSolutionChanged_SolutionIsNotSaved() public void VariableValue_VariableNotSolutionChanged_SolutionIsNotSaved()
{ {
CreateSolution(); CreateSolution();
globals.VariableValue["test"] = "value"; globals.set_VariableValue("test", "value");
globals.VariableValue["test"] = "new-value"; globals.set_VariableValue("test", "new-value");
solutionHelper.AssertSolutionIsNotSaved(); solutionHelper.AssertSolutionIsNotSaved();
} }

3
src/Setup/Files.wxs

@ -1814,6 +1814,9 @@
<Component Id="NuGetConsoleTypesDll" Guid="7386637C-A6C6-4AD4-8EA3-C5E87AA3F552" DiskId="1"> <Component Id="NuGetConsoleTypesDll" Guid="7386637C-A6C6-4AD4-8EA3-C5E87AA3F552" DiskId="1">
<File Id="NuGet.Console.Types.dll" Name="NuGet.Console.Types.dll" Source="..\..\AddIns\Misc\PackageManagement\NuGet.Console.Types.dll" KeyPath="yes" Assembly=".net" AssemblyApplication="NuGet.Console.Types.dll" AssemblyManifest="NuGet.Console.Types.dll" /> <File Id="NuGet.Console.Types.dll" Name="NuGet.Console.Types.dll" Source="..\..\AddIns\Misc\PackageManagement\NuGet.Console.Types.dll" KeyPath="yes" Assembly=".net" AssemblyApplication="NuGet.Console.Types.dll" AssemblyManifest="NuGet.Console.Types.dll" />
</Component> </Component>
<Component Id="PackageManagementEnvDTEHelpersDll" Guid="51609E3F-C1BA-4EB5-889B-61EA730207D6" DiskId="1">
<File Id="PackageManagement.EnvDTEHelpers.dll" Name="PackageManagement.EnvDTEHelpers.dll" Source="..\..\AddIns\Misc\PackageManagement\PackageManagement.EnvDTEHelpers.dll" KeyPath="yes" Assembly=".net" AssemblyApplication="PackageManagement.EnvDTEHelpers.dll" AssemblyManifest="PackageManagement.EnvDTEHelpers.dll" />
</Component>
</Directory> </Directory>
<Directory Id="TextTemplating" Name="TextTemplating"> <Directory Id="TextTemplating" Name="TextTemplating">
<Component Id="MonoTextTemplatingDll" Guid="07BFBED7-FC7B-4CF3-BD00-DCA8E8E7C17B" DiskId="1"> <Component Id="MonoTextTemplatingDll" Guid="07BFBED7-FC7B-4CF3-BD00-DCA8E8E7C17B" DiskId="1">

1
src/Setup/Setup.wxs

@ -533,6 +533,7 @@
<ComponentRef Id="PackageManagementCmdletsDll"/> <ComponentRef Id="PackageManagementCmdletsDll"/>
<ComponentRef Id="PackageManagementCmdletsDllHelpXml"/> <ComponentRef Id="PackageManagementCmdletsDllHelpXml"/>
<ComponentRef Id="PackageManagementDll"/> <ComponentRef Id="PackageManagementDll"/>
<ComponentRef Id="PackageManagementEnvDTEHelpersDll"/>
<ComponentRef Id="PackageManagementPowerShellDll"/> <ComponentRef Id="PackageManagementPowerShellDll"/>
<ComponentRef Id="JQuery172NuGetPackage"/> <ComponentRef Id="JQuery172NuGetPackage"/>
<ComponentRef Id="Modernizr253NuGetPackage"/> <ComponentRef Id="Modernizr253NuGetPackage"/>

Loading…
Cancel
Save