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:
Jamie Cansdale 2018-08-30 10:30:16 +01:00
Родитель e880b0144b
Коммит d66577bb8f
9 изменённых файлов: 13 добавлений и 511 удалений

Просмотреть файл

@ -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|" />