зеркало из https://github.com/github/VisualStudio.git
Use GitHub.TeamFoundation.15 in VS 2017 and 2019
We can use the GitHub.TeamFoundation.15 MEF assembly in both Visual Studio 2017 and 2019.
This commit is contained in:
Родитель
e880b0144b
Коммит
d66577bb8f
12
GitHubVS.sln
12
GitHubVS.sln
|
@ -125,8 +125,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitHub.TeamFoundation.UnitT
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitHub.VisualStudio.UnitTests", "test\GitHub.VisualStudio.UnitTests\GitHub.VisualStudio.UnitTests.csproj", "{8B14F90B-0781-465D-AB94-19C8C56E3A94}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitHub.TeamFoundation.16", "src\GitHub.TeamFoundation.16\GitHub.TeamFoundation.16.csproj", "{F074E95F-A9A0-403F-8633-D112582B8A70}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -506,16 +504,6 @@ Global
|
|||
{8B14F90B-0781-465D-AB94-19C8C56E3A94}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8B14F90B-0781-465D-AB94-19C8C56E3A94}.ReleaseWithoutVsix|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8B14F90B-0781-465D-AB94-19C8C56E3A94}.ReleaseWithoutVsix|Any CPU.Build.0 = Release|Any CPU
|
||||
{F074E95F-A9A0-403F-8633-D112582B8A70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F074E95F-A9A0-403F-8633-D112582B8A70}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F074E95F-A9A0-403F-8633-D112582B8A70}.DebugCodeAnalysis|Any CPU.ActiveCfg = DebugCodeAnalysis|Any CPU
|
||||
{F074E95F-A9A0-403F-8633-D112582B8A70}.DebugCodeAnalysis|Any CPU.Build.0 = DebugCodeAnalysis|Any CPU
|
||||
{F074E95F-A9A0-403F-8633-D112582B8A70}.DebugWithoutVsix|Any CPU.ActiveCfg = DebugCodeAnalysis|Any CPU
|
||||
{F074E95F-A9A0-403F-8633-D112582B8A70}.DebugWithoutVsix|Any CPU.Build.0 = DebugCodeAnalysis|Any CPU
|
||||
{F074E95F-A9A0-403F-8633-D112582B8A70}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F074E95F-A9A0-403F-8633-D112582B8A70}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F074E95F-A9A0-403F-8633-D112582B8A70}.ReleaseWithoutVsix|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F074E95F-A9A0-403F-8633-D112582B8A70}.ReleaseWithoutVsix|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -3,8 +3,6 @@ using System.Collections.Generic;
|
|||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using GitHub.Logging;
|
||||
using GitHub.Models;
|
||||
using GitHub.Services;
|
||||
|
@ -16,10 +14,11 @@ namespace GitHub.TeamFoundation
|
|||
internal class RegistryHelper
|
||||
{
|
||||
static readonly ILogger log = LogManager.ForContext<RegistryHelper>();
|
||||
const string TEGitKey = @"Software\Microsoft\VisualStudio\15.0\TeamFoundation\GitSourceControl";
|
||||
|
||||
static RegistryKey OpenGitKey(string path)
|
||||
{
|
||||
return Microsoft.Win32.Registry.CurrentUser.OpenSubKey(TEGitKey + "\\" + path, true);
|
||||
var keyName = $"Software\\Microsoft\\VisualStudio\\{MajorVersion}.0\\TeamFoundation\\GitSourceControl\\{path}";
|
||||
return Registry.CurrentUser.OpenSubKey(keyName, true);
|
||||
}
|
||||
|
||||
internal static IEnumerable<ILocalRepositoryModel> PokeTheRegistryForRepositoryList()
|
||||
|
@ -56,15 +55,16 @@ namespace GitHub.TeamFoundation
|
|||
}
|
||||
}
|
||||
|
||||
const string NewProjectDialogKeyPath = @"Software\Microsoft\VisualStudio\15.0\NewProjectDialog";
|
||||
const string MRUKeyPath = "MRUSettingsLocalProjectLocationEntries";
|
||||
internal static string SetDefaultProjectPath(string path)
|
||||
{
|
||||
var newProjectDialogKeyPath = $"Software\\Microsoft\\VisualStudio\\{MajorVersion}.0\\NewProjectDialog";
|
||||
|
||||
var old = String.Empty;
|
||||
try
|
||||
{
|
||||
var newProjectKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(NewProjectDialogKeyPath, true) ??
|
||||
Microsoft.Win32.Registry.CurrentUser.CreateSubKey(NewProjectDialogKeyPath);
|
||||
var newProjectKey = Registry.CurrentUser.OpenSubKey(newProjectDialogKeyPath, true) ??
|
||||
Registry.CurrentUser.CreateSubKey(newProjectDialogKeyPath);
|
||||
|
||||
if (newProjectKey == null)
|
||||
{
|
||||
|
@ -72,7 +72,7 @@ namespace GitHub.TeamFoundation
|
|||
string.Format(
|
||||
CultureInfo.CurrentCulture,
|
||||
"Could not open or create registry key '{0}'",
|
||||
NewProjectDialogKeyPath));
|
||||
newProjectDialogKeyPath));
|
||||
}
|
||||
|
||||
using (newProjectKey)
|
||||
|
@ -120,5 +120,8 @@ namespace GitHub.TeamFoundation
|
|||
}
|
||||
return old;
|
||||
}
|
||||
|
||||
// Major version number of the current devenv process
|
||||
static int MajorVersion => Process.GetCurrentProcess().MainModule.FileVersionInfo.FileMajorPart;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,321 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\..\packages\LibGit2Sharp.NativeBinaries.1.0.164\build\LibGit2Sharp.NativeBinaries.props" Condition="Exists('..\..\packages\LibGit2Sharp.NativeBinaries.1.0.164\build\LibGit2Sharp.NativeBinaries.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<MinimumVisualStudioVersion>$(MSBuildToolsVersion)</MinimumVisualStudioVersion>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">$(MSBuildToolsVersion)</VisualStudioVersion>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{F074E95F-A9A0-403F-8633-D112582B8A70}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>GitHub.TeamFoundation</RootNamespace>
|
||||
<AssemblyName>GitHub.TeamFoundation.16</AssemblyName>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<CodeAnalysisRuleSet>..\common\GitHubVS.ruleset</CodeAnalysisRuleSet>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<CodeAnalysisIgnoreGeneratedCode>true</CodeAnalysisIgnoreGeneratedCode>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<DefineConstants>DEBUG;TRACE;TEAMEXPLORER16</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugCodeAnalysis|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<DefineConstants>CODE_ANALYSIS;DEBUG;TRACE;TEAMEXPLORER16</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<RunCodeAnalysis>true</RunCodeAnalysis>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>TRACE;TEAMEXPLORER16</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<RunCodeAnalysis>true</RunCodeAnalysis>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(SolutionDir)\src\common\signing.props" />
|
||||
<ItemGroup>
|
||||
<Reference Include="LibGit2Sharp, Version=0.23.1.0, Culture=neutral, PublicKeyToken=7cbde695407f0333, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\LibGit2Sharp.0.23.1\lib\net40\LibGit2Sharp.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.TeamFoundation.Common">
|
||||
<HintPath>..\..\lib\15.0\Microsoft.TeamFoundation.Common.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.TeamFoundation.Client">
|
||||
<HintPath>..\..\lib\15.0\Microsoft.TeamFoundation.Client.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.TeamFoundation.Controls">
|
||||
<HintPath>..\..\lib\15.0\Microsoft.TeamFoundation.Controls.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.TeamFoundation.Git.Controls">
|
||||
<HintPath>..\..\lib\15.0\Microsoft.TeamFoundation.Git.Controls.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.TeamFoundation.Git.Provider">
|
||||
<HintPath>..\..\lib\15.0\Microsoft.TeamFoundation.Git.Provider.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.CoreUtility, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.CoreUtility.15.4.27004\lib\net45\Microsoft.VisualStudio.CoreUtility.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Imaging, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Imaging.15.4.27004\lib\net45\Microsoft.VisualStudio.Imaging.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.OLE.Interop.7.10.6070\lib\Microsoft.VisualStudio.OLE.Interop.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Shell.15.0, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.15.0.15.0.26228\lib\Microsoft.VisualStudio.Shell.15.0.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Shell.Framework, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Framework.15.4.27004\lib\net45\Microsoft.VisualStudio.Shell.Framework.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Aliases>SF15</Aliases>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Immutable.11.0.11.0.50727\lib\net45\Microsoft.VisualStudio.Shell.Immutable.11.0.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Shell.Immutable.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Immutable.14.0.14.3.25407\lib\net45\Microsoft.VisualStudio.Shell.Immutable.14.0.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Aliases>global</Aliases>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.7.10.6071\lib\Microsoft.VisualStudio.Shell.Interop.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime.15.0.26606\lib\net20\Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime.dll</HintPath>
|
||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.8.0.8.0.50727\lib\Microsoft.VisualStudio.Shell.Interop.8.0.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Shell.Interop.9.0.9.0.30729\lib\Microsoft.VisualStudio.Shell.Interop.9.0.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.TextManager.Interop.7.10.6070\lib\Microsoft.VisualStudio.TextManager.Interop.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.TextManager.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.TextManager.Interop.8.0.8.0.50727\lib\Microsoft.VisualStudio.TextManager.Interop.8.0.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Threading, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Threading.15.0.240\lib\net45\Microsoft.VisualStudio.Threading.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Utilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Utilities.15.4.27004\lib\net46\Microsoft.VisualStudio.Utilities.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.Validation, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Microsoft.VisualStudio.Validation.15.3.15\lib\net45\Microsoft.VisualStudio.Validation.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="Serilog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Serilog.2.5.0\lib\net46\Serilog.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Stateless, Version=2.5.56.0, Culture=neutral, PublicKeyToken=93038f0927583c9a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Stateless.2.5.56.0\lib\portable-net40+sl50+win+wp80+MonoAndroid10+xamarinios10+MonoTouch10\Stateless.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.Composition" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Reactive.Core, Version=2.2.5.0, Culture=neutral, PublicKeyToken=62aa029873c516b4, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Rx-Core.2.2.5-custom\lib\net45\System.Reactive.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Reactive.Interfaces, Version=2.2.5.0, Culture=neutral, PublicKeyToken=62aa029873c516b4, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Rx-Interfaces.2.2.5-custom\lib\net45\System.Reactive.Interfaces.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Reactive.Linq, Version=2.2.5.0, Culture=neutral, PublicKeyToken=62aa029873c516b4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\packages\Rx-Linq.2.2.5-custom\lib\net45\System.Reactive.Linq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xaml" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Home\ForkNavigationItem.cs">
|
||||
<Link>Home\ForkNavigationItem.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Services\LocalRepositoryModelFactory.cs">
|
||||
<Link>Services\LocalRepositoryModelFactory.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Services\VSGitExt.cs">
|
||||
<Link>Services\VSGitExt.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Services\VSUIContextFactory.cs">
|
||||
<Link>Services\VSUIContextFactory.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Settings.cs">
|
||||
<Link>Settings.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Base\EnsureLoggedInSection.cs">
|
||||
<Link>Base\EnsureLoggedInSection.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Base\TeamExplorerInvitationBase.cs">
|
||||
<Link>Base\TeamExplorerInvitationBase.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Base\TeamExplorerNavigationItemBase.cs">
|
||||
<Link>Base\TeamExplorerNavigationItemBase.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Base\TeamExplorerSectionBase.cs">
|
||||
<Link>Base\TeamExplorerSectionBase.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Base\TeamExplorerServiceHolder.cs">
|
||||
<Link>Base\TeamExplorerServiceHolder.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Connect\GitHubConnectSection.cs">
|
||||
<Link>Connect\GitHubConnectSection.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Connect\GitHubConnectSection0.cs">
|
||||
<Link>Connect\GitHubConnectSection0.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Connect\GitHubConnectSection1.cs">
|
||||
<Link>Connect\GitHubConnectSection1.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Connect\GitHubInvitationSection.cs">
|
||||
<Link>Connect\GitHubInvitationSection.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Home\GitHubHomeSection.cs">
|
||||
<Link>Home\GitHubHomeSection.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Home\GraphsNavigationItem.cs">
|
||||
<Link>Home\GraphsNavigationItem.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Home\IssuesNavigationItem.cs">
|
||||
<Link>Home\IssuesNavigationItem.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Home\PullRequestsNavigationItem.cs">
|
||||
<Link>Home\PullRequestsNavigationItem.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Home\PulseNavigationItem.cs">
|
||||
<Link>Home\PulseNavigationItem.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Home\WikiNavigationItem.cs">
|
||||
<Link>Home\WikiNavigationItem.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Sync\EnsureLoggedInSectionSync.cs">
|
||||
<Link>Sync\EnsureLoggedInSectionSync.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Sync\GitHubPublishSection.cs">
|
||||
<Link>Sync\GitHubPublishSection.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Services\TeamExplorerServices.cs">
|
||||
<Link>Services\TeamExplorerServices.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\GitHub.TeamFoundation.14\Services\VSGitServices.cs">
|
||||
<Link>Services\VSGitServices.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="RegistryHelper.cs" />
|
||||
<Compile Include="..\common\SolutionInfo.cs">
|
||||
<Link>Properties\SolutionInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<None Include="packages.config">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\submodules\octokit.net\Octokit\Octokit.csproj">
|
||||
<Project>{08dd4305-7787-4823-a53f-4d0f725a07f3}</Project>
|
||||
<Name>Octokit</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\submodules\reactiveui\ReactiveUI\ReactiveUI_Net45.csproj">
|
||||
<Project>{1ce2d235-8072-4649-ba5a-cfb1af8776e0}</Project>
|
||||
<Name>ReactiveUI_Net45</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\submodules\splat\Splat\Splat-Net45.csproj">
|
||||
<Project>{252ce1c2-027a-4445-a3c2-e4d6c80a935a}</Project>
|
||||
<Name>Splat-Net45</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GitHub.Api\GitHub.Api.csproj">
|
||||
<Project>{b389adaf-62cc-486e-85b4-2d8b078df763}</Project>
|
||||
<Name>GitHub.Api</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GitHub.App\GitHub.App.csproj">
|
||||
<Project>{1A1DA411-8D1F-4578-80A6-04576BEA2DC5}</Project>
|
||||
<Name>GitHub.App</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GitHub.Exports.Reactive\GitHub.Exports.Reactive.csproj">
|
||||
<Project>{E4ED0537-D1D9-44B6-9212-3096D7C3F7A1}</Project>
|
||||
<Name>GitHub.Exports.Reactive</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GitHub.Exports\GitHub.Exports.csproj">
|
||||
<Project>{9aea02db-02b5-409c-b0ca-115d05331a6b}</Project>
|
||||
<Name>GitHub.Exports</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GitHub.Extensions\GitHub.Extensions.csproj">
|
||||
<Project>{6afe2e2d-6db0-4430-a2ea-f5f5388d2f78}</Project>
|
||||
<Name>GitHub.Extensions</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GitHub.Logging\GitHub.Logging.csproj">
|
||||
<Project>{8d73575a-a89f-47cc-b153-b47dd06837f0}</Project>
|
||||
<Name>GitHub.Logging</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GitHub.VisualStudio.UI\GitHub.VisualStudio.UI.csproj">
|
||||
<Project>{d1dfbb0c-b570-4302-8f1e-2e3a19c41961}</Project>
|
||||
<Name>GitHub.VisualStudio.UI</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Analyzer Include="..\..\packages\SerilogAnalyzer.0.12.0.0\analyzers\dotnet\cs\SerilogAnalyzer.dll" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.12\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.12\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets'))" />
|
||||
<Error Condition="!Exists('..\..\packages\LibGit2Sharp.NativeBinaries.1.0.164\build\LibGit2Sharp.NativeBinaries.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\LibGit2Sharp.NativeBinaries.1.0.164\build\LibGit2Sharp.NativeBinaries.props'))" />
|
||||
</Target>
|
||||
<Import Project="..\..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.12\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets" Condition="Exists('..\..\packages\Microsoft.VisualStudio.SDK.EmbedInteropTypes.15.0.12\build\Microsoft.VisualStudio.SDK.EmbedInteropTypes.targets')" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -1,6 +0,0 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("GitHub.TeamFoundation.16")]
|
||||
[assembly: AssemblyDescription("GitHub TeamFoundation")]
|
||||
[assembly: Guid("b5f72f45-adf1-4630-b066-eebf99f945a3")]
|
|
@ -1,124 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using GitHub.Logging;
|
||||
using GitHub.Models;
|
||||
using GitHub.Services;
|
||||
using Microsoft.Win32;
|
||||
using Serilog;
|
||||
|
||||
namespace GitHub.TeamFoundation
|
||||
{
|
||||
internal class RegistryHelper
|
||||
{
|
||||
static readonly ILogger log = LogManager.ForContext<RegistryHelper>();
|
||||
const string TEGitKey = @"Software\Microsoft\VisualStudio\16.0\TeamFoundation\GitSourceControl";
|
||||
static RegistryKey OpenGitKey(string path)
|
||||
{
|
||||
return Microsoft.Win32.Registry.CurrentUser.OpenSubKey(TEGitKey + "\\" + path, true);
|
||||
}
|
||||
|
||||
internal static IEnumerable<ILocalRepositoryModel> PokeTheRegistryForRepositoryList()
|
||||
{
|
||||
using (var key = OpenGitKey("Repositories"))
|
||||
{
|
||||
return key.GetSubKeyNames().Select(x =>
|
||||
{
|
||||
using (var subkey = key.OpenSubKey(x))
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = subkey?.GetValue("Path") as string;
|
||||
if (path != null)
|
||||
return new LocalRepositoryModel(path, GitService.GitServiceHelper);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// no sense spamming the log, the registry might have ton of stale things we don't care about
|
||||
}
|
||||
return null;
|
||||
}
|
||||
})
|
||||
.Where(x => x != null)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
internal static string PokeTheRegistryForLocalClonePath()
|
||||
{
|
||||
using (var key = OpenGitKey("General"))
|
||||
{
|
||||
return (string)key?.GetValue("DefaultRepositoryPath", string.Empty, RegistryValueOptions.DoNotExpandEnvironmentNames);
|
||||
}
|
||||
}
|
||||
|
||||
const string NewProjectDialogKeyPath = @"Software\Microsoft\VisualStudio\16.0\NewProjectDialog";
|
||||
const string MRUKeyPath = "MRUSettingsLocalProjectLocationEntries";
|
||||
internal static string SetDefaultProjectPath(string path)
|
||||
{
|
||||
var old = String.Empty;
|
||||
try
|
||||
{
|
||||
var newProjectKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(NewProjectDialogKeyPath, true) ??
|
||||
Microsoft.Win32.Registry.CurrentUser.CreateSubKey(NewProjectDialogKeyPath);
|
||||
|
||||
if (newProjectKey == null)
|
||||
{
|
||||
throw new GitHubLogicException(
|
||||
string.Format(
|
||||
CultureInfo.CurrentCulture,
|
||||
"Could not open or create registry key '{0}'",
|
||||
NewProjectDialogKeyPath));
|
||||
}
|
||||
|
||||
using (newProjectKey)
|
||||
{
|
||||
var mruKey = newProjectKey.OpenSubKey(MRUKeyPath, true) ??
|
||||
Microsoft.Win32.Registry.CurrentUser.CreateSubKey(MRUKeyPath);
|
||||
|
||||
if (mruKey == null)
|
||||
{
|
||||
throw new GitHubLogicException(
|
||||
string.Format(
|
||||
CultureInfo.CurrentCulture,
|
||||
"Could not open or create registry key '{0}'",
|
||||
MRUKeyPath));
|
||||
}
|
||||
|
||||
using (mruKey)
|
||||
{
|
||||
// is this already the default path? bail
|
||||
old = (string)mruKey.GetValue("Value0", string.Empty, RegistryValueOptions.DoNotExpandEnvironmentNames);
|
||||
if (String.Equals(path.TrimEnd('\\'), old.TrimEnd('\\'), StringComparison.CurrentCultureIgnoreCase))
|
||||
return old;
|
||||
|
||||
// grab the existing list of recent paths, throwing away the last one
|
||||
var numEntries = (int)mruKey.GetValue("MaximumEntries", 5);
|
||||
var entries = new List<string>(numEntries);
|
||||
for (int i = 0; i < numEntries - 1; i++)
|
||||
{
|
||||
var val = (string)mruKey.GetValue("Value" + i, String.Empty, RegistryValueOptions.DoNotExpandEnvironmentNames);
|
||||
if (!String.IsNullOrEmpty(val))
|
||||
entries.Add(val);
|
||||
}
|
||||
|
||||
newProjectKey.SetValue("LastUsedNewProjectPath", path);
|
||||
mruKey.SetValue("Value0", path);
|
||||
// bump list of recent paths one entry down
|
||||
for (int i = 0; i < entries.Count; i++)
|
||||
mruKey.SetValue("Value" + (i + 1), entries[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
log.Error(ex, "Error setting the create project path in the registry");
|
||||
}
|
||||
return old;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="LibGit2Sharp" version="0.23.1" targetFramework="net461" />
|
||||
<package id="LibGit2Sharp.NativeBinaries" version="1.0.164" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.CoreUtility" version="15.4.27004" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Imaging" version="15.4.27004" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.OLE.Interop" version="7.10.6070" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.SDK.EmbedInteropTypes" version="15.0.12" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Shell.15.0" version="15.0.26228" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Shell.Framework" version="15.4.27004" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Shell.Immutable.11.0" version="11.0.50727" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Shell.Immutable.14.0" version="14.3.25407" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Shell.Interop" version="7.10.6071" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime" version="15.0.26606" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Shell.Interop.8.0" version="8.0.50727" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Shell.Interop.9.0" version="9.0.30729" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.TextManager.Interop" version="7.10.6070" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.TextManager.Interop.8.0" version="8.0.50727" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Threading" version="15.0.240" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Utilities" version="15.4.27004" targetFramework="net461" />
|
||||
<package id="Microsoft.VisualStudio.Validation" version="15.3.15" targetFramework="net461" />
|
||||
<package id="Rx-Core" version="2.2.5-custom" targetFramework="net45" />
|
||||
<package id="Rx-Interfaces" version="2.2.5-custom" targetFramework="net45" />
|
||||
<package id="Serilog" version="2.5.0" targetFramework="net461" />
|
||||
<package id="SerilogAnalyzer" version="0.12.0.0" targetFramework="net461" />
|
||||
<package id="Stateless" version="2.5.56.0" targetFramework="net461" />
|
||||
</packages>
|
|
@ -791,13 +791,6 @@
|
|||
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup;</IncludeOutputGroupsInVSIXLocalOnly>
|
||||
<Aliases>TF15</Aliases>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GitHub.TeamFoundation.16\GitHub.TeamFoundation.16.csproj">
|
||||
<Project>{F074E95F-A9A0-403F-8633-D112582B8A70}</Project>
|
||||
<Name>GitHub.TeamFoundation.16</Name>
|
||||
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup;GetCopyToOutputDirectoryItems;DebugSymbolsProjectOutputGroup;</IncludeOutputGroupsInVSIX>
|
||||
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup;</IncludeOutputGroupsInVSIXLocalOnly>
|
||||
<Aliases>TF16</Aliases>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GitHub.UI.Reactive\GitHub.UI.Reactive.csproj">
|
||||
<Project>{158b05e8-fdbc-4d71-b871-c96e28d5adf5}</Project>
|
||||
<Name>GitHub.UI.Reactive</Name>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
extern alias TF14;
|
||||
extern alias TF15;
|
||||
extern alias TF16;
|
||||
|
||||
using System;
|
||||
using GitHub.Logging;
|
||||
|
@ -8,7 +7,6 @@ using Serilog;
|
|||
using Microsoft.VisualStudio.Shell;
|
||||
using VSGitExt14 = TF14.GitHub.VisualStudio.Base.VSGitExt;
|
||||
using VSGitExt15 = TF15.GitHub.VisualStudio.Base.VSGitExt;
|
||||
using VSGitExt16 = TF16.GitHub.VisualStudio.Base.VSGitExt;
|
||||
|
||||
namespace GitHub.Services
|
||||
{
|
||||
|
@ -32,9 +30,8 @@ namespace GitHub.Services
|
|||
case 14:
|
||||
return Create(() => new VSGitExt14(asyncServiceProvider));
|
||||
case 15:
|
||||
return Create(() => new VSGitExt15(asyncServiceProvider));
|
||||
case 16:
|
||||
return Create(() => new VSGitExt16(asyncServiceProvider));
|
||||
return Create(() => new VSGitExt15(asyncServiceProvider));
|
||||
default:
|
||||
log.Error("There is no IVSGitExt implementation for DTE version {Version}", vsVersion);
|
||||
return null;
|
||||
|
|
|
@ -30,10 +30,9 @@
|
|||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="GitHub.App" Path="|GitHub.App|" />
|
||||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="GitHub.Services.Vssdk" Path="|GitHub.Services.Vssdk|" />
|
||||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="GitHub.TeamFoundation.14" TargetVersion="[14.0,15.0)" Path="|GitHub.TeamFoundation.14|" />
|
||||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="GitHub.TeamFoundation.15" TargetVersion="[15.0,16.0)" Path="|GitHub.TeamFoundation.15|" />
|
||||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="GitHub.TeamFoundation.15" TargetVersion="[15.0,17.0)" Path="|GitHub.TeamFoundation.15|" />
|
||||
<!-- Sometimes the version of `ServiceHub.VSDetouredHost.exe` is used when installing for Visual Studio 2017, see https://github.com/github/VisualStudio/pull/1875 -->
|
||||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="GitHub.TeamFoundation.15" TargetVersion="[1.0,2.0)" Path="|GitHub.TeamFoundation.15|" />
|
||||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="GitHub.TeamFoundation.16" TargetVersion="[16.0,17.0)" Path="|GitHub.TeamFoundation.16|" />
|
||||
<Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="GitHub.InlineReviewsPackage" Path="|GitHub.InlineReviews;PkgdefProjectOutputGroup|" />
|
||||
<Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="GitHub.StartPage" Path="|GitHub.StartPage;PkgdefProjectOutputGroup|" />
|
||||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="GitHub.InlineReviews" Path="|GitHub.InlineReviews|" />
|
||||
|
|
Загрузка…
Ссылка в новой задаче