Skip to content

Commit

Permalink
Visual Studio 2022 support
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Renev committed Feb 2, 2022
1 parent adb1225 commit ea2b488
Show file tree
Hide file tree
Showing 9 changed files with 346 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/release-notes/NEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@
`--gitignore` parameter (#1399 by siprbaum)
* Speed up git-tfs startup time by removing a useless `git rev-parse --show-prefix` invocation.
In addition, make a lot of small internal cleanups eliminating dead code (#1400 by siprbaum)
* Added support for TFS 2022 (#1406)
47 changes: 47 additions & 0 deletions src/GitTfs.Vs2022/GitTfs.Vs2022.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\CommonAssemblyInfo.cs">
<Link>Properties\CommonAssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\GitTfs.VsCommon\ParentForm.cs">
<Link>ParentForm.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\GitTfs.VsCommon\Retry.cs">
<Link>Retry.cs</Link>
</Compile>
<Compile Include="..\GitTfs.VsCommon\TfsHelper.Common.cs">
<Link>TfsHelper.Common.cs</Link>
</Compile>
<Compile Include="..\GitTfs.VsCommon\TfsHelper.VS2017Base.cs">
<Link>TfsHelper.VS2017Base.cs</Link>
</Compile>
<Compile Include="..\GitTfs.VsCommon\TfsPlugin.cs">
<Link>TfsPlugin.cs</Link>
</Compile>
<Compile Include="..\GitTfs.VsCommon\Wrappers.cs">
<Link>Wrappers.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\GitTfs\GitTfs.csproj" />
</ItemGroup>
<ItemGroup>
<None Include="paket.references" />
</ItemGroup>
<ItemGroup>
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="xcopy /y /I &quot;$(TargetDir)*.dll&quot; &quot;$(SolutionDir)GitTfs\$(OutDir)$(ProjectName)&quot; /EXCLUDE:$(SolutionDir)build\files_to_ignore_during_post_build_copy.txt" />
<Exec Command="xcopy /y /I &quot;$(TargetDir)*.pdb&quot; &quot;$(SolutionDir)GitTfs\$(OutDir)$(ProjectName)&quot; /EXCLUDE:$(SolutionDir)build\files_to_ignore_during_post_build_copy.txt" />
</Target>
<Import Project="..\.paket\Paket.Restore.targets" />
</Project>
17 changes: 17 additions & 0 deletions src/GitTfs.Vs2022/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using System.Reflection;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("GitTfs.Vs2022")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("8626e986-2240-4401-88d4-71d0858cd47f")]
14 changes: 14 additions & 0 deletions src/GitTfs.Vs2022/TfsHelper.Vs2022.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using GitTfs.VsCommon;

using StructureMap;

namespace GitTfs.Vs2022
{
public class TfsHelper : TfsHelperVS2017Base
{
public TfsHelper(TfsApiBridge bridge, IContainer container)
: base(bridge, container, 17)
{
}
}
}
7 changes: 7 additions & 0 deletions src/GitTfs.Vs2022/paket.references
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
structuremap

group VS2022
Microsoft.TeamFoundationServer.Client
Microsoft.TeamFoundationServer.ExtendedClient
Microsoft.VisualStudio.Setup.Configuration.Interop
Microsoft.VisualStudio.Settings.15.0
6 changes: 6 additions & 0 deletions src/GitTfs.sln
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitTfs.Vs2017", "GitTfs.Vs2
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitTfs.Vs2019", "GitTfs.Vs2019\GitTfs.Vs2019.csproj", "{54B4B8B8-F06C-4D2E-B7A3-C17C3850C88B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitTfs.Vs2022", "GitTfs.Vs2022\GitTfs.Vs2022.csproj", "{7853F7AB-87E8-4282-8FDE-6A138B73F9B5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AnyCPU = Debug|AnyCPU
Expand Down Expand Up @@ -79,6 +81,10 @@ Global
{54B4B8B8-F06C-4D2E-B7A3-C17C3850C88B}.Debug|AnyCPU.Build.0 = Debug|Any CPU
{54B4B8B8-F06C-4D2E-B7A3-C17C3850C88B}.Release|AnyCPU.ActiveCfg = Release|Any CPU
{54B4B8B8-F06C-4D2E-B7A3-C17C3850C88B}.Release|AnyCPU.Build.0 = Release|Any CPU
{7853F7AB-87E8-4282-8FDE-6A138B73F9B5}.Debug|AnyCPU.ActiveCfg = Debug|Any CPU
{7853F7AB-87E8-4282-8FDE-6A138B73F9B5}.Debug|AnyCPU.Build.0 = Debug|Any CPU
{7853F7AB-87E8-4282-8FDE-6A138B73F9B5}.Release|AnyCPU.ActiveCfg = Release|Any CPU
{7853F7AB-87E8-4282-8FDE-6A138B73F9B5}.Release|AnyCPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
1 change: 1 addition & 0 deletions src/GitTfs/Core/TfsInterop/TfsPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ private class PluginLoader
/// </summary>
public static IReadOnlyList<string> SupportedVersions => new List<string>
{
"2022",
"2019",
"2017",
"2015",
Expand Down
8 changes: 8 additions & 0 deletions src/paket.dependencies
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,11 @@ group VS2019
nuget Microsoft.TeamFoundationServer.ExtendedClient ~> 16.0
nuget Microsoft.VisualStudio.Setup.Configuration.Interop
nuget Microsoft.VisualStudio.Settings.15.0 ~> 16.0

group VS2022
framework: net472
source https://api.nuget.org/v3/index.json
nuget Microsoft.TeamFoundationServer.Client ~> 16.0
nuget Microsoft.TeamFoundationServer.ExtendedClient ~> 16.0
nuget Microsoft.VisualStudio.Setup.Configuration.Interop
nuget Microsoft.VisualStudio.Settings.15.0 ~> 17.0
245 changes: 245 additions & 0 deletions src/paket.lock
Original file line number Diff line number Diff line change
Expand Up @@ -559,3 +559,248 @@ NUGET
System.Threading.Tasks.Dataflow (5.0)
System.Threading.Tasks.Extensions (4.5.4)
System.Runtime.CompilerServices.Unsafe (>= 4.5.3)

GROUP VS2022
RESTRICTION: == net472
NUGET
remote: https://api.nuget.org/v3/index.json
Ben.Demystifier (0.4.1)
System.Reflection.Metadata (>= 5.0)
System.Threading.Tasks.Extensions (>= 4.5.4)
MessagePack (2.3.85)
MessagePack.Annotations (>= 2.3.85)
Microsoft.Bcl.AsyncInterfaces (>= 1.0)
System.Collections.Immutable (>= 1.5)
System.Memory (>= 4.5.3)
System.Reflection.Emit (>= 4.6)
System.Reflection.Emit.Lightweight (>= 4.6)
System.Runtime.CompilerServices.Unsafe (>= 4.5.2)
System.Threading.Tasks.Extensions (>= 4.5.3)
MessagePack.Annotations (2.3.85)
Microsoft.AspNet.WebApi.Client (5.2.7)
Newtonsoft.Json (>= 6.0.4)
Microsoft.AspNet.WebApi.Core (5.2.7)
Microsoft.AspNet.WebApi.Client (>= 5.2.7)
Microsoft.AspNet.WebApi.WebHost (5.2.7)
Microsoft.AspNet.WebApi.Core (>= 5.2.7 < 5.3)
Microsoft.Bcl.AsyncInterfaces (6.0)
System.Threading.Tasks.Extensions (>= 4.5.4)
Microsoft.Build.Framework (17.0)
Microsoft.CodeAnalysis.BannedApiAnalyzers (3.3.3)
Microsoft.CSharp (4.7)
Microsoft.IdentityModel.Clients.ActiveDirectory (5.2.9)
System.Net.Http (>= 4.3.4)
System.Private.Uri (>= 4.3.2)
Microsoft.IdentityModel.JsonWebTokens (6.15.1)
Microsoft.IdentityModel.Tokens (>= 6.15.1)
Microsoft.IdentityModel.Logging (6.15.1)
Microsoft.IdentityModel.Tokens (6.15.1)
Microsoft.IdentityModel.Logging (>= 6.15.1)
Microsoft.NETCore.Platforms (6.0.1)
Microsoft.NETCore.Targets (5.0)
Microsoft.ServiceHub.Analyzers (3.0.3078)
Microsoft.ServiceHub.Client (3.0.3078)
Microsoft.ServiceHub.Framework (>= 3.0.3078)
Microsoft.ServiceHub.Resources (>= 3.0.3078)
Microsoft.VisualStudio.RemoteControl (>= 16.3.32)
Microsoft.VisualStudio.Telemetry (>= 16.3.176)
StreamJsonRpc (>= 2.7.70)
System.Collections.Immutable (>= 5.0)
Microsoft.ServiceHub.Framework (3.0.3078)
Microsoft.ServiceHub.Analyzers (>= 3.0.3078)
StreamJsonRpc (>= 2.7.70)
System.Collections.Immutable (>= 5.0)
Microsoft.ServiceHub.Resources (3.0.3078)
Microsoft.TeamFoundation.DistributedTask.Common.Contracts (16.170)
Microsoft.VisualStudio.Services.Client (16.170)
Microsoft.TeamFoundationServer.Client (16.170)
Microsoft.AspNet.WebApi.Client (>= 5.2.7)
Microsoft.AspNet.WebApi.Core (>= 5.2.7)
Microsoft.AspNet.WebApi.WebHost (>= 5.2.7)
Microsoft.TeamFoundation.DistributedTask.Common.Contracts (16.170)
Microsoft.VisualStudio.Services.Client (16.170)
Newtonsoft.Json (>= 12.0.3)
Microsoft.TeamFoundationServer.ExtendedClient (16.170)
Microsoft.AspNet.WebApi.Client (>= 5.2.7)
Microsoft.AspNet.WebApi.Core (>= 5.2.7)
Microsoft.IdentityModel.Clients.ActiveDirectory (>= 5.2.6)
Microsoft.TeamFoundationServer.Client (16.170)
Microsoft.VisualStudio.Services.Client (16.170)
Microsoft.VisualStudio.Services.InteractiveClient (16.170)
Newtonsoft.Json (>= 12.0.3)
System.IdentityModel.Tokens.Jwt (>= 5.6)
Microsoft.VisualStudio.ComponentModelHost (17.0.491)
Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime (>= 17.0.31723.112)
Microsoft.VisualStudio.Interop (>= 17.0.31723.112)
System.ComponentModel.Composition (>= 4.5)
Microsoft.VisualStudio.CoreUtility (17.0.491)
Microsoft.VisualStudio.Threading (>= 17.0.63)
System.Collections.Immutable (>= 5.0)
System.ComponentModel.Composition (>= 4.5)
Microsoft.VisualStudio.GraphModel (17.0.32112.339)
Microsoft.VisualStudio.Interop (>= 17.0.32112.339)
System.ComponentModel.Composition (>= 4.5)
Microsoft.VisualStudio.ImageCatalog (17.0.32112.339)
Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime (>= 17.0.32112.339)
Microsoft.VisualStudio.Interop (>= 17.0.32112.339)
Microsoft.VisualStudio.Imaging (17.0.32112.339)
Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime (>= 17.0.32112.339)
Microsoft.VisualStudio.Threading (>= 17.0.64)
Microsoft.VisualStudio.Utilities (>= 17.0.32112.339)
System.Collections.Immutable (>= 5.0)
Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime (17.0.32112.339)
Microsoft.VisualStudio.Interop (17.0.32112.339)
Microsoft.VisualStudio.ProjectAggregator (17.0.32112.339)
Microsoft.VisualStudio.RegDetour (17.0.32112.339)
Microsoft.VisualStudio.RemoteControl (16.3.44)
Microsoft.VisualStudio.Utilities.Internal (>= 16.3.36)
Microsoft.VisualStudio.RpcContracts (17.0.51)
Microsoft.ServiceHub.Framework (>= 3.0.2061)
StreamJsonRpc (>= 2.8.28)
Microsoft.VisualStudio.SDK.Analyzers (16.10.10)
Microsoft.CodeAnalysis.BannedApiAnalyzers (>= 3.3.2)
Microsoft.VisualStudio.Threading.Analyzers (>= 16.10.56)
Microsoft.VisualStudio.Services.Client (16.170)
Microsoft.AspNet.WebApi.Client (>= 5.2.7)
Microsoft.IdentityModel.Tokens (>= 5.6)
Newtonsoft.Json (>= 12.0.3)
System.IdentityModel.Tokens.Jwt (>= 5.6)
Microsoft.VisualStudio.Services.InteractiveClient (16.170)
Ben.Demystifier (>= 0.1.2)
Microsoft.IdentityModel.Clients.ActiveDirectory (>= 5.2.6)
Microsoft.IdentityModel.Logging (>= 5.6)
Microsoft.IdentityModel.Tokens (>= 5.6)
Microsoft.VisualStudio.Services.Client (16.170)
Newtonsoft.Json (>= 12.0.3)
System.IdentityModel.Tokens.Jwt (>= 5.6)
Microsoft.VisualStudio.Settings.15.0 (17.0.32112.339)
Microsoft.VisualStudio.RegDetour (>= 17.0.32112.339)
Microsoft.VisualStudio.Shell.15.0 (>= 17.0.32112.339)
Microsoft.VisualStudio.Setup.Configuration.Interop (3.0.4496)
Microsoft.VisualStudio.Shell.15.0 (17.0.32112.339)
Microsoft.VisualStudio.ComponentModelHost (>= 17.0.491)
Microsoft.VisualStudio.ImageCatalog (>= 17.0.32112.339)
Microsoft.VisualStudio.Imaging (>= 17.0.32112.339)
Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime (>= 17.0.32112.339)
Microsoft.VisualStudio.Interop (>= 17.0.32112.339)
Microsoft.VisualStudio.ProjectAggregator (>= 17.0.32112.339)
Microsoft.VisualStudio.SDK.Analyzers (>= 16.10.10)
Microsoft.VisualStudio.Shell.Framework (>= 17.0.32112.339)
Microsoft.VisualStudio.Text.Data (>= 17.0.491)
Microsoft.VisualStudio.Utilities (>= 17.0.32112.339)
Microsoft.VisualStudio.Shell.Framework (17.0.32112.339)
Microsoft.Build.Framework (>= 16.5)
Microsoft.VisualStudio.GraphModel (>= 17.0.32112.339)
Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime (>= 17.0.32112.339)
Microsoft.VisualStudio.Interop (>= 17.0.32112.339)
Microsoft.VisualStudio.SDK.Analyzers (>= 16.10.10)
Microsoft.VisualStudio.Telemetry (>= 16.3.250)
Microsoft.VisualStudio.Text.Data (>= 17.0.491)
Microsoft.VisualStudio.Threading (>= 17.0.64)
Microsoft.VisualStudio.Utilities (>= 17.0.32112.339)
Newtonsoft.Json (>= 13.0.1)
System.ComponentModel.Composition (>= 4.5)
System.Threading.Tasks.Dataflow (>= 5.0)
System.Threading.Tasks.Extensions (>= 4.5.4)
Microsoft.VisualStudio.Telemetry (16.4.22)
Microsoft.CSharp (>= 4.7)
Microsoft.VisualStudio.RemoteControl (>= 16.3.44)
Microsoft.VisualStudio.Utilities.Internal (>= 16.3.36)
Newtonsoft.Json (>= 13.0.1)
System.Runtime.CompilerServices.Unsafe (>= 5.0)
Microsoft.VisualStudio.Text.Data (17.0.491)
Microsoft.VisualStudio.CoreUtility (>= 17.0.491)
Microsoft.VisualStudio.Threading (>= 17.0.63)
Microsoft.VisualStudio.Threading (17.0.64)
Microsoft.Bcl.AsyncInterfaces (>= 5.0)
Microsoft.VisualStudio.Threading.Analyzers (>= 17.0.64)
Microsoft.VisualStudio.Validation (>= 16.10.35)
Microsoft.Win32.Registry (>= 5.0)
System.Threading.Tasks.Extensions (>= 4.5.4)
Microsoft.VisualStudio.Threading.Analyzers (17.0.64)
Microsoft.VisualStudio.Utilities (17.0.32112.339)
Microsoft.ServiceHub.Client (>= 3.0.3078)
Microsoft.VisualStudio.RpcContracts (>= 17.0.51)
Microsoft.VisualStudio.Telemetry (>= 16.3.250)
System.ComponentModel.Composition (>= 4.5)
System.Threading.AccessControl (>= 5.0)
System.Threading.Tasks.Dataflow (>= 5.0)
Microsoft.VisualStudio.Utilities.Internal (16.3.36)
Microsoft.VisualStudio.Validation (17.0.34)
Microsoft.Win32.Registry (5.0)
System.Security.AccessControl (>= 5.0)
System.Security.Principal.Windows (>= 5.0)
Nerdbank.Streams (2.8.57)
Microsoft.Bcl.AsyncInterfaces (>= 5.0)
Microsoft.VisualStudio.Threading (>= 16.10.56)
Microsoft.VisualStudio.Validation (>= 16.10.26)
System.IO.Pipelines (>= 5.0.1)
System.Runtime.CompilerServices.Unsafe (>= 5.0)
Newtonsoft.Json (13.0.1)
StreamJsonRpc (2.9.85)
MessagePack (>= 2.3.75)
Microsoft.Bcl.AsyncInterfaces (>= 5.0)
Microsoft.VisualStudio.Threading (>= 16.10.56)
Nerdbank.Streams (>= 2.8.46)
Newtonsoft.Json (>= 13.0.1)
System.Collections.Immutable (>= 5.0)
System.Diagnostics.DiagnosticSource (>= 5.0.1)
System.IO.Pipelines (>= 5.0.1)
System.Memory (>= 4.5.4)
System.Net.Http (>= 4.3.4)
System.Net.WebSockets (>= 4.3)
System.Reflection.Emit (>= 4.7)
System.Threading.Tasks.Dataflow (>= 5.0)
System.Threading.Tasks.Extensions (>= 4.5.4)
System.Buffers (4.5.1)
System.Collections.Immutable (6.0)
System.Memory (>= 4.5.4)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.ComponentModel.Composition (6.0)
System.Diagnostics.DiagnosticSource (6.0)
System.Memory (>= 4.5.4)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.IdentityModel.Tokens.Jwt (6.15.1)
Microsoft.IdentityModel.JsonWebTokens (>= 6.15.1)
Microsoft.IdentityModel.Tokens (>= 6.15.1)
System.IO (4.3)
System.IO.Pipelines (6.0.1)
System.Buffers (>= 4.5.1)
System.Memory (>= 4.5.4)
System.Threading.Tasks.Extensions (>= 4.5.4)
System.Memory (4.5.4)
System.Buffers (>= 4.5.1)
System.Numerics.Vectors (>= 4.5)
System.Runtime.CompilerServices.Unsafe (>= 4.5.3)
System.Net.Http (4.3.4)
System.Security.Cryptography.X509Certificates (>= 4.3)
System.Net.WebSockets (4.3)
System.Numerics.Vectors (4.5)
System.Private.Uri (4.3.2)
Microsoft.NETCore.Platforms (>= 1.1.1)
Microsoft.NETCore.Targets (>= 1.1.3)
System.Reflection.Emit (4.7)
System.Reflection.Emit.Lightweight (4.7)
System.Reflection.Metadata (6.0)
System.Collections.Immutable (>= 6.0)
System.Runtime (4.3.1)
System.Runtime.CompilerServices.Unsafe (6.0)
System.Security.AccessControl (6.0)
System.Security.Principal.Windows (>= 5.0)
System.Security.Cryptography.Algorithms (4.3.1)
System.IO (>= 4.3)
System.Runtime (>= 4.3)
System.Security.Cryptography.Encoding (>= 4.3)
System.Security.Cryptography.Primitives (>= 4.3)
System.Security.Cryptography.Encoding (4.3)
System.Security.Cryptography.Primitives (4.3)
System.Security.Cryptography.X509Certificates (4.3.2)
System.Security.Cryptography.Algorithms (>= 4.3)
System.Security.Cryptography.Encoding (>= 4.3)
System.Security.Principal.Windows (5.0)
System.Threading.AccessControl (6.0)
System.Security.AccessControl (>= 6.0)
System.Security.Principal.Windows (>= 5.0)
System.Threading.Tasks.Dataflow (6.0)
System.Threading.Tasks.Extensions (4.5.4)
System.Runtime.CompilerServices.Unsafe (>= 4.5.3)

0 comments on commit ea2b488

Please sign in to comment.