Skip to content

Commit 2e236ee

Browse files
committedMar 29, 2024·
Fix build problems
1 parent 9bfe63e commit 2e236ee

36 files changed

+219
-409
lines changed
 

‎.editorconfig

+6
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,12 @@ dotnet_code_quality_unused_parameters = non_public:warning
137137
# 'using' directive preferences
138138
csharp_using_directive_placement = outside_namespace:warning
139139

140+
# Use primary constructor
141+
csharp_style_prefer_primary_constructors = false
142+
143+
# Use collection expression
144+
dotnet_style_prefer_collection_expression = false
145+
140146
###############################
141147
# Formatting Rules #
142148
###############################

‎.github/workflows/Build Redevelopment.yml

-81
This file was deleted.

‎.github/workflows/Build.yml

+67-58
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
name: Build
22

33
on:
4+
workflow_dispatch:
5+
46
push:
57
branches:
68
- master
@@ -12,68 +14,75 @@ on:
1214

1315
jobs:
1416
build:
15-
runs-on: windows-2019
17+
strategy:
18+
matrix:
19+
vsVersion: ["2017", "2019", "2022"]
20+
21+
runs-on: windows-2022
1622

1723
outputs:
1824
version: ${{ steps.version.outputs.version }}
1925

2026
steps:
21-
- name: Checkup code
22-
uses: actions/checkout@v4.1.1
23-
with:
24-
fetch-depth: 0
25-
26-
- name: Setup NuGet
27-
uses: nuget/setup-nuget@v2
27+
- name: Checkup code
28+
uses: actions/checkout@v4.1.1
29+
with:
30+
fetch-depth: 0
31+
32+
- name: Setup NuGet
33+
uses: nuget/setup-nuget@v2
34+
35+
- name: Setup MSBuild
36+
uses: microsoft/setup-msbuild@v2
2837

29-
- name: Setup MSBuild
30-
uses: microsoft/setup-msbuild@v2
31-
32-
- name: Search and increment last version
33-
id: version
34-
run: |
35-
$latestTag = git tag --list 'v*' | Where-Object { $_ -match '^v[0-9]+\.[0-9]+\.[0-9]+$' } | Sort-Object { [Version]($_.TrimStart('v')) } | Select-Object -Last 1
36-
$oldVersion = $latestTag.TrimStart('v')
37-
$versionParts = $oldVersion -split '\.'
38-
$versionParts[2] = [int]$versionParts[2] + 1
39-
$newVersion = "$($versionParts -join '.')"
40-
echo version=$newVersion >> $env:GITHUB_OUTPUT
41-
42-
- name: Set extension manifest versions
43-
shell: pwsh
44-
run: |
45-
$paths = @(
46-
"src\VS2017\source.extension.vsixmanifest",
47-
"src\VS2019\source.extension.vsixmanifest",
48-
"src\VS2022\source.extension.vsixmanifest",
49-
"src\VS2017\source.extension.cs",
50-
"src\VS2019\source.extension.cs",
51-
"src\VS2022\source.extension.cs"
52-
)
53-
foreach ($path in $paths) {
54-
(Get-Content -Path $path) -Replace '1.2.9999', '${{ steps.version.outputs.version }}' | Set-Content -Path $path
55-
}
56-
57-
- name: NuGet Restore
58-
run: nuget restore
59-
60-
- name: Run build
61-
run: msbuild ExtensionManager.sln /p:configuration=Release /p:DeployExtension=false /p:ZipPackageCompressionLevel=normal /v:m
62-
63-
- name: Archive VSIX 2017
64-
uses: actions/upload-artifact@v3
65-
with:
66-
name: ExtensionManager2017.vsix
67-
path: src/VS2017/bin/Release/ExtensionManager2017.vsix
68-
69-
- name: Archive VSIX 2019
70-
uses: actions/upload-artifact@v3
71-
with:
72-
name: ExtensionManager2019.vsix
73-
path: src/VS2019/bin/Release/ExtensionManager2019.vsix
38+
- name: Setup .NET Core SDK
39+
uses: actions/setup-dotnet@v4
40+
with:
41+
dotnet-version: '8.0.x'
42+
43+
- name: Search and increment last version
44+
id: version
45+
run: |
46+
$latestTag = git tag --list 'v*' | Where-Object { $_ -match '^v[0-9]+\.[0-9]+\.[0-9]+$' } | Sort-Object { [Version]($_.TrimStart('v')) } | Select-Object -Last 1
47+
$oldVersion = $latestTag.TrimStart('v')
48+
$versionParts = $oldVersion -split '\.'
49+
$versionParts[2] = [int]$versionParts[2] + 1
50+
$newVersion = "$($versionParts -join '.')"
51+
echo version=$newVersion >> $env:GITHUB_OUTPUT
52+
53+
- name: Set manifest versions
54+
shell: pwsh
55+
run: |
56+
$paths = @(
57+
"src/ExtensionManager.Vsix.VS${{ matrix.vsVersion }}/source.extension.vsixmanifest",
58+
"src/ExtensionManager.Vsix.VS${{ matrix.vsVersion }}/source.extension.cs"
59+
)
7460
75-
- name: Archive VSIX 2022
76-
uses: actions/upload-artifact@v3
77-
with:
78-
name: ExtensionManager2022.vsix
79-
path: src/VS2022/bin/Release/ExtensionManager2022.vsix
61+
foreach ($path in $paths) {
62+
(Get-Content -Path $path) -Replace '9.9.9999', '${{ steps.version.outputs.version }}' | Set-Content -Path $path
63+
}
64+
65+
- name: Build library projects
66+
shell: pwsh
67+
run: |
68+
$projects = Get-ChildItem -Recurse -Filter *.csproj -Exclude *.Vsix.*.csproj | Select-Object -ExpandProperty FullName
69+
70+
foreach ($project in $projects) {
71+
dotnet build "$project" -c Release
72+
}
73+
74+
- name: Build vsix project
75+
shell: pwsh
76+
run: |
77+
$project = "src/ExtensionManager.Vsix.VS${{ matrix.vsVersion }}/ExtensionManager.Vsix.VS${{ matrix.vsVersion }}.csproj"
78+
79+
nuget restore "$project"
80+
msbuild /p:BuildProjectReferences=False /p:RestorePackages=False /p:Configuration=Release /p:DeployExtension=False /p:ZipPackageCompressionLevel=normal /v:n "$project"
81+
82+
- name: Upload artifact
83+
uses: actions/upload-artifact@v4.3.1
84+
with:
85+
name: ExtensionManager${{ matrix.vsVersion }}.vsix
86+
path: src/ExtensionManager.Vsix.VS${{ matrix.vsVersion }}/bin/Release/ExtensionManager${{ matrix.vsVersion }}.vsix
87+
if-no-files-found: error
88+
compression-level: 0

‎.github/workflows/Release.yml

+11-7
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,26 @@ jobs:
2121
fetch-depth: 0
2222

2323
- name: Download VSIX 2017
24-
uses: actions/download-artifact@v3
24+
uses: actions/download-artifact@v4.1.4
2525
with:
2626
name: ExtensionManager2017.vsix
27-
path: artifacts
2827

2928
- name: Download VSIX 2019
30-
uses: actions/download-artifact@v3
29+
uses: actions/download-artifact@v4.1.4
3130
with:
3231
name: ExtensionManager2019.vsix
33-
path: artifacts
3432

3533
- name: Download VSIX 2022
36-
uses: actions/download-artifact@v3
34+
uses: actions/download-artifact@v4.1.4
3735
with:
3836
name: ExtensionManager2022.vsix
39-
path: artifacts
37+
38+
- name: Unzip VSIX Archives
39+
shell: pwsh
40+
run: |
41+
Get-ChildItem . -Filter *.zip | ForEach-Object {
42+
Expand-Archive -LiteralPath $_.FullName -DestinationPath .
43+
}
4044
4145
- name: Create version tag
4246
run: |
@@ -55,4 +59,4 @@ jobs:
5559
env:
5660
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5761
run: |
58-
gh release upload v${{ needs.build.outputs.version }} "artifacts/ExtensionManager2017.vsix" "artifacts/ExtensionManager2019.vsix" "artifacts/ExtensionManager2022.vsix"
62+
gh release upload v${{ needs.build.outputs.version }} "ExtensionManager2017.vsix" "ExtensionManager2019.vsix" "ExtensionManager2022.vsix"

‎ExtensionManager.sln

+4-51
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ EndProject
2323
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VisualStudio", "VisualStudio", "{DD63B191-4457-40BA-984A-0C1D6B95D197}"
2424
ProjectSection(SolutionItems) = preProject
2525
src\ExtensionManager.VisualStudio.md = src\ExtensionManager.VisualStudio.md
26-
src\ExtensionManager.VisualStudio.props = src\ExtensionManager.VisualStudio.props
2726
EndProjectSection
2827
EndProject
2928
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExtensionManager.VisualStudio.Abstractions", "src\ExtensionManager.VisualStudio.Abstractions\ExtensionManager.VisualStudio.Abstractions.csproj", "{3A474662-F23F-4339-BF62-22D52B834CFC}"
@@ -50,7 +49,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{431E
5049
EndProject
5150
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{5C6EB350-6BEE-4D5A-B02F-7B331D6D8FE8}"
5251
ProjectSection(SolutionItems) = preProject
53-
.github\workflows\Build Redevelopment.yml = .github\workflows\Build Redevelopment.yml
5452
.github\workflows\Build.yml = .github\workflows\Build.yml
5553
.github\workflows\Release.yml = .github\workflows\Release.yml
5654
EndProjectSection
@@ -61,15 +59,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExtensionManager.VisualStud
6159
EndProject
6260
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Adapter", "Adapter", "{F180C738-5477-4CE7-9D4A-247BB4E5C1DF}"
6361
ProjectSection(SolutionItems) = preProject
64-
ExtensionManager.VisualStudio.Adapter.md = ExtensionManager.VisualStudio.Adapter.md
62+
src\ExtensionManager.VisualStudio.Adapter.md = src\ExtensionManager.VisualStudio.Adapter.md
6563
EndProjectSection
6664
EndProject
67-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExtensionManager.VisualStudio.VS2019", "src\ExtensionManager.VisualStudio.VS2019\ExtensionManager.VisualStudio.VS2019.csproj", "{37A5DBB8-C876-4D60-A972-4EC91A857C11}"
68-
EndProject
69-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExtensionManager.VisualStudio.VS2017", "src\ExtensionManager.VisualStudio.VS2017\ExtensionManager.VisualStudio.VS2017.csproj", "{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}"
70-
EndProject
71-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExtensionManager.VisualStudio.VS2022", "src\ExtensionManager.VisualStudio.VS2022\ExtensionManager.VisualStudio.VS2022.csproj", "{E669F8BE-9801-4794-ADF9-26949DBAFF8D}"
72-
EndProject
7365
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtensionManager.Vsix.VS2017", "src\ExtensionManager.Vsix.VS2017\ExtensionManager.Vsix.VS2017.csproj", "{E2DDEDFD-659B-40D1-A8DB-2048E3556FDB}"
7466
EndProject
7567
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtensionManager.Vsix.VS2019", "src\ExtensionManager.Vsix.VS2019\ExtensionManager.Vsix.VS2019.csproj", "{44FB8945-D937-4F89-B8F5-3DEB763BDD0E}"
@@ -158,42 +150,6 @@ Global
158150
{9BACA2E2-713C-42FC-9AA0-A128D48E2D12}.Release|arm64.Build.0 = Release|Any CPU
159151
{9BACA2E2-713C-42FC-9AA0-A128D48E2D12}.Release|x86.ActiveCfg = Release|Any CPU
160152
{9BACA2E2-713C-42FC-9AA0-A128D48E2D12}.Release|x86.Build.0 = Release|Any CPU
161-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
162-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Debug|Any CPU.Build.0 = Debug|Any CPU
163-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Debug|arm64.ActiveCfg = Debug|Any CPU
164-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Debug|arm64.Build.0 = Debug|Any CPU
165-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Debug|x86.ActiveCfg = Debug|Any CPU
166-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Debug|x86.Build.0 = Debug|Any CPU
167-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Release|Any CPU.ActiveCfg = Release|Any CPU
168-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Release|Any CPU.Build.0 = Release|Any CPU
169-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Release|arm64.ActiveCfg = Release|Any CPU
170-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Release|arm64.Build.0 = Release|Any CPU
171-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Release|x86.ActiveCfg = Release|Any CPU
172-
{37A5DBB8-C876-4D60-A972-4EC91A857C11}.Release|x86.Build.0 = Release|Any CPU
173-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
174-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Debug|Any CPU.Build.0 = Debug|Any CPU
175-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Debug|arm64.ActiveCfg = Debug|Any CPU
176-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Debug|arm64.Build.0 = Debug|Any CPU
177-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Debug|x86.ActiveCfg = Debug|Any CPU
178-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Debug|x86.Build.0 = Debug|Any CPU
179-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Release|Any CPU.ActiveCfg = Release|Any CPU
180-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Release|Any CPU.Build.0 = Release|Any CPU
181-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Release|arm64.ActiveCfg = Release|Any CPU
182-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Release|arm64.Build.0 = Release|Any CPU
183-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Release|x86.ActiveCfg = Release|Any CPU
184-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71}.Release|x86.Build.0 = Release|Any CPU
185-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
186-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Debug|Any CPU.Build.0 = Debug|Any CPU
187-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Debug|arm64.ActiveCfg = Debug|Any CPU
188-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Debug|arm64.Build.0 = Debug|Any CPU
189-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Debug|x86.ActiveCfg = Debug|Any CPU
190-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Debug|x86.Build.0 = Debug|Any CPU
191-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Release|Any CPU.ActiveCfg = Release|Any CPU
192-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Release|Any CPU.Build.0 = Release|Any CPU
193-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Release|arm64.ActiveCfg = Release|Any CPU
194-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Release|arm64.Build.0 = Release|Any CPU
195-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Release|x86.ActiveCfg = Release|Any CPU
196-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D}.Release|x86.Build.0 = Release|Any CPU
197153
{E2DDEDFD-659B-40D1-A8DB-2048E3556FDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
198154
{E2DDEDFD-659B-40D1-A8DB-2048E3556FDB}.Debug|Any CPU.Build.0 = Debug|Any CPU
199155
{E2DDEDFD-659B-40D1-A8DB-2048E3556FDB}.Debug|arm64.ActiveCfg = Debug|arm64
@@ -249,9 +205,6 @@ Global
249205
{78E14F78-6B4A-4E64-95C1-7CC4E91D4A9F} = {F180C738-5477-4CE7-9D4A-247BB4E5C1DF}
250206
{9BACA2E2-713C-42FC-9AA0-A128D48E2D12} = {F180C738-5477-4CE7-9D4A-247BB4E5C1DF}
251207
{F180C738-5477-4CE7-9D4A-247BB4E5C1DF} = {DD63B191-4457-40BA-984A-0C1D6B95D197}
252-
{37A5DBB8-C876-4D60-A972-4EC91A857C11} = {DD63B191-4457-40BA-984A-0C1D6B95D197}
253-
{76FBCF19-CCFF-450E-9B37-4601CDEA0D71} = {DD63B191-4457-40BA-984A-0C1D6B95D197}
254-
{E669F8BE-9801-4794-ADF9-26949DBAFF8D} = {DD63B191-4457-40BA-984A-0C1D6B95D197}
255208
{E2DDEDFD-659B-40D1-A8DB-2048E3556FDB} = {DA9ABE41-806C-442B-B8D5-56AD9C958E32}
256209
{44FB8945-D937-4F89-B8F5-3DEB763BDD0E} = {DA9ABE41-806C-442B-B8D5-56AD9C958E32}
257210
{DD73CF2D-9D26-4760-928B-454B9B682246} = {DA9ABE41-806C-442B-B8D5-56AD9C958E32}
@@ -260,17 +213,17 @@ Global
260213
SolutionGuid = {1BD96434-7B7A-4183-ABA0-CA3DC2FCD23B}
261214
EndGlobalSection
262215
GlobalSection(SharedMSBuildProjectFiles) = preSolution
263-
src\ExtensionManager.VisualStudio.Shared\ExtensionManager.VisualStudio.Shared.projitems*{37a5dbb8-c876-4d60-a972-4ec91a857c11}*SharedItemsImports = 5
216+
src\ExtensionManager.VisualStudio.Shared\ExtensionManager.VisualStudio.Shared.projitems*{44fb8945-d937-4f89-b8f5-3deb763bdd0e}*SharedItemsImports = 4
264217
src\ExtensionManager.Vsix.Shared\ExtensionManager.Vsix.Shared.projitems*{44fb8945-d937-4f89-b8f5-3deb763bdd0e}*SharedItemsImports = 4
265218
src\ExtensionManager.Shared\ExtensionManager.Shared.projitems*{6468e392-1c88-4f3c-b8d7-e61f942adbfc}*SharedItemsImports = 5
266219
src\ExtensionManager.Shared\ExtensionManager.Shared.projitems*{6539aa53-aa60-402d-9334-83d3a63459db}*SharedItemsImports = 5
267-
src\ExtensionManager.VisualStudio.Shared\ExtensionManager.VisualStudio.Shared.projitems*{76fbcf19-ccff-450e-9b37-4601cdea0d71}*SharedItemsImports = 5
268220
src\ExtensionManager.Vsix.Shared\ExtensionManager.Vsix.Shared.projitems*{77052739-b59a-4e8b-9e4a-8d1372f0e6b5}*SharedItemsImports = 13
269221
src\ExtensionManager.Shared\ExtensionManager.Shared.projitems*{c67042cb-6c88-4273-bef3-6a99b87b4c3f}*SharedItemsImports = 5
270222
src\ExtensionManager.VisualStudio.Shared\ExtensionManager.VisualStudio.Shared.projitems*{db482bd0-94ba-4e7d-8a51-ac2a2663267a}*SharedItemsImports = 13
223+
src\ExtensionManager.VisualStudio.Shared\ExtensionManager.VisualStudio.Shared.projitems*{dd73cf2d-9d26-4760-928b-454b9b682246}*SharedItemsImports = 4
271224
src\ExtensionManager.Vsix.Shared\ExtensionManager.Vsix.Shared.projitems*{dd73cf2d-9d26-4760-928b-454b9b682246}*SharedItemsImports = 4
272225
src\ExtensionManager.Shared\ExtensionManager.Shared.projitems*{e21ceac2-5e8c-4ae9-84ee-2e390cd272a9}*SharedItemsImports = 13
226+
src\ExtensionManager.VisualStudio.Shared\ExtensionManager.VisualStudio.Shared.projitems*{e2ddedfd-659b-40d1-a8db-2048e3556fdb}*SharedItemsImports = 4
273227
src\ExtensionManager.Vsix.Shared\ExtensionManager.Vsix.Shared.projitems*{e2ddedfd-659b-40d1-a8db-2048e3556fdb}*SharedItemsImports = 4
274-
src\ExtensionManager.VisualStudio.Shared\ExtensionManager.VisualStudio.Shared.projitems*{e669f8be-9801-4794-adf9-26949dbaff8d}*SharedItemsImports = 5
275228
EndGlobalSection
276229
EndGlobal

‎src/Directory.Build.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22

33
<PropertyGroup>
4-
<TargetFramework>net4.8.1</TargetFramework>
4+
<TargetFramework>net472</TargetFramework>
55
<LangVersion>preview</LangVersion>
66
<Nullable>enable</Nullable>
77
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

‎src/ExtensionManager.VisualStudio.Abstractions/ExtensionManager.VisualStudio.Abstractions.csproj

-11
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,6 @@
55
<UseWPF>true</UseWPF>
66
</PropertyGroup>
77

8-
<ItemGroup>
9-
<Compile Remove="IVisualStudioExtensions.cs" />
10-
<Compile Remove="IVisualStudioInstance.cs" />
11-
<Compile Remove="IVisualStudioServices.cs" />
12-
<Compile Remove="IVisualStudioShell.cs" />
13-
<Compile Remove="IVisualStudioSolution.cs" />
14-
<Compile Remove="IVisualStudioUIThread.cs" />
15-
<Compile Remove="IVisualStudioViewColors.cs" />
16-
<Compile Remove="IVisualStudioViewResourceKeys.cs" />
17-
</ItemGroup>
18-
198
<ItemGroup>
209
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
2110
</ItemGroup>

‎src/ExtensionManager.VisualStudio.Shared/Documents/VSDocuments.cs

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
using System.Threading.Tasks;
2+
13
using Community.VisualStudio.Toolkit;
24

5+
#nullable enable
6+
37
namespace ExtensionManager.VisualStudio.Documents;
48

59
internal sealed class VSDocuments : IVSDocuments

‎src/ExtensionManager.VisualStudio.Shared/Extensions/VSExtensions.cs

+6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
1+
using System.Collections.Generic;
12
using System.Diagnostics;
3+
using System.IO;
4+
using System.Linq;
5+
using System.Threading.Tasks;
26

37
using Community.VisualStudio.Toolkit;
48

59
using ExtensionManager.VisualStudio.Adapter.Extensions;
610

711
using Microsoft.VisualStudio.Setup.Configuration;
812

13+
#nullable enable
14+
915
namespace ExtensionManager.VisualStudio.Extensions;
1016

1117
internal sealed class VSExtensions : IVSExtensions

‎src/ExtensionManager.VisualStudio.Shared/MessageBox/VSMessageBox.cs

+4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
using System.Threading.Tasks;
2+
13
using Community.VisualStudio.Toolkit;
24

35
using Microsoft.VisualStudio;
46

7+
#nullable enable
8+
59
namespace ExtensionManager.VisualStudio.MessageBox;
610

711
internal sealed class VSMessageBox : IVSMessageBox

‎src/ExtensionManager.VisualStudio.Shared/Solution/VSSolution.cs

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
using System.Threading.Tasks;
2+
13
using CT = Community.VisualStudio.Toolkit;
24

5+
#nullable enable
6+
37
namespace ExtensionManager.VisualStudio.Solution;
48

59
internal sealed class VSSolution : VSSolutionItem<CT.Solution>, IVSSolution

‎src/ExtensionManager.VisualStudio.Shared/Solution/VSSolutionFolder.cs

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
using System.Threading.Tasks;
2+
13
using CT = Community.VisualStudio.Toolkit;
24

5+
#nullable enable
6+
37
namespace ExtensionManager.VisualStudio.Solution;
48

59
internal sealed class VSSolutionFolder : VSSolutionItem<CT.SolutionFolder>, IVSSolutionFolder

‎src/ExtensionManager.VisualStudio.Shared/Solution/VSSolutionItem.cs

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using CT = Community.VisualStudio.Toolkit;
22

3+
#nullable enable
4+
35
namespace ExtensionManager.VisualStudio.Solution;
46

57
internal class VSSolutionItem<TItem> : IVSSolutionItem

‎src/ExtensionManager.VisualStudio.Shared/Solution/VSSolutions.cs

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
using System.Threading.Tasks;
2+
13
using VS = Community.VisualStudio.Toolkit.VS;
24

5+
#nullable enable
6+
37
namespace ExtensionManager.VisualStudio.Solution;
48

59
internal sealed class VSSolutions : IVSSolutions

‎src/ExtensionManager.VisualStudio.Shared/StatusBar/VSStatusBar.cs

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
using System.Threading.Tasks;
2+
13
using VS = Community.VisualStudio.Toolkit.VS;
24

5+
#nullable enable
6+
37
namespace ExtensionManager.VisualStudio.StatusBar;
48

59
internal sealed class VSStatusBar : IVSStatusBar

‎src/ExtensionManager.VisualStudio.Shared/Themes/VSThemes.cs

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
using CT = Community.VisualStudio.Toolkit;
44

5+
#nullable enable
6+
57
namespace ExtensionManager.VisualStudio.Themes;
68

79
internal sealed class VSThemes : IVSThemes

‎src/ExtensionManager.VisualStudio.Shared/Threads/VSThreads.cs

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
using Microsoft.VisualStudio.Shell;
1+
using System;
2+
using System.Threading.Tasks;
23

3-
using Task = System.Threading.Tasks.Task;
4+
using ThreadHelper = Microsoft.VisualStudio.Shell.ThreadHelper;
5+
6+
#nullable enable
47

58
namespace ExtensionManager.VisualStudio.Threads;
69

‎src/ExtensionManager.VisualStudio.Shared/VSAdapterServicesFactoryGenerator.cs

+4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
using System;
2+
using System.Collections.Generic;
13
using System.Reflection;
24

35
using ExtensionManager.VisualStudio.Adapter.Generator;
46

7+
#nullable enable
8+
59
namespace ExtensionManager.VisualStudio;
610

711
internal sealed class VSAdapterServicesFactoryGenerator : VSAdapterServicesFactoryGeneratorBase

‎src/ExtensionManager.VisualStudio.Shared/VSServicesRegistrar.cs

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using System;
2+
13
using ExtensionManager.VisualStudio.Adapter;
24
using ExtensionManager.VisualStudio.Documents;
35
using ExtensionManager.VisualStudio.Extensions;
@@ -9,12 +11,16 @@
911

1012
using Microsoft.Extensions.DependencyInjection;
1113

14+
#nullable enable
15+
1216
#if VS2017
1317
namespace ExtensionManager.VisualStudio.VS2017;
1418
#elif VS2019
1519
namespace ExtensionManager.VisualStudio.VS2019;
1620
#elif VS2022
1721
namespace ExtensionManager.VisualStudio.VS2022;
22+
#else
23+
#error Not implemented
1824
#endif
1925

2026
public sealed class VSServicesRegistrar : IVSServicesRegistrar

‎src/ExtensionManager.VisualStudio.Shared/VisualStudioServices.cs

-69
This file was deleted.

‎src/ExtensionManager.VisualStudio.VS2017/ExtensionManager.VisualStudio.VS2017.csproj

-23
This file was deleted.

‎src/ExtensionManager.VisualStudio.VS2019/ExtensionManager.VisualStudio.VS2019.csproj

-21
This file was deleted.

‎src/ExtensionManager.VisualStudio.VS2022/ExtensionManager.VisualStudio.VS2022.csproj

-22
This file was deleted.

‎src/ExtensionManager.VisualStudio.md

+4-11
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,19 @@
22

33
These projects provide a facade around the Visual Studio API, streamlining the handling of different dependency versions.
44

5-
## Problems & Solutions
5+
## Proble & Solution
66

77
#### Version conflicts
88

99
Different major versions of Visual Studio require specific dependencies that may not be compatible with each other.
10-
To manage this, separate projects are established for each Visual Studio version to specify their required dependency versions.
11-
A shared project is also maintained to house the common code applicable across all versions.
1210

13-
#### API Facade
14-
15-
To simplify the codebase in SDK-style projects, direct interaction with the Visual Studio API is limited, due to the need for specific versions of dependencies across different Visual Studio versions.
16-
17-
An API facade abstracts away the complexity of the Visual Studio API, enabling the bulk of the code to interact with this facade rather than directly with varying versions of dependencies.
11+
To manage this, an Abstractions project is created to define interfaces, which are then implemented in the various Vsix projects.
12+
The implementation code of these abstractions is housed in a Shared project. This approach allows normal SDK projects to utilize the
13+
functionality without needing to directly manage the dependencies for each Visual Studio version.
1814

1915
## Projects
2016

2117
| Project | Description |
2218
|---|---|
2319
| ExtensionManager.VisualStudio.Abstractions | Houses the facade abstraction |
24-
| ExtensionManager.VisualStudio.VS2017 | Specifies dependencies for projects targeting Visual Studio 2017 |
25-
| ExtensionManager.VisualStudio.VS2019 | Specifies dependencies for projects targeting Visual Studio 2019 |
26-
| ExtensionManager.VisualStudio.VS2022 | Specifies dependencies for projects targeting Visual Studio 2022 |
2720
| ExtensionManager.VisualStudio.Shared | Contains the implementation of the abstractions |

‎src/ExtensionManager.VisualStudio.props

-19
This file was deleted.

‎src/ExtensionManager.Vsix.Shared/ExtensionManagerPackage.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@ protected override async Task InitializeAsync(CancellationToken cancellationToke
6060

6161
private static IVSServicesRegistrar CreateVSServiceFactory(Version vsVersion)
6262
{
63-
#if VS2022
64-
return new VisualStudio.VS2022.VSServicesRegistrar(vsVersion);
63+
#if VS2017
64+
return new VisualStudio.VS2017.VSServicesRegistrar(vsVersion);
6565
#elif VS2019
6666
return new VisualStudio.VS2019.VSServicesRegistrar(vsVersion);
67-
#elif VS2017
68-
return new VisualStudio.VS2017.VSServicesRegistrar(vsVersion);
67+
#elif VS2022
68+
return new VisualStudio.VS2022.VSServicesRegistrar(vsVersion);
6969
#else
7070
#error Not implemented
7171
#endif

‎src/ExtensionManager.Vsix.VS2017/ExtensionManager.Vsix.VS2017.csproj

+22-8
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<OutputType>Library</OutputType>
2020
<RootNamespace>ExtensionManager</RootNamespace>
2121
<AssemblyName>$(MSBuildProjectName)</AssemblyName>
22-
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
22+
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
2323
<GeneratePkgDefFile>true</GeneratePkgDefFile>
2424
<IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer>
2525
<IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer>
@@ -28,7 +28,7 @@
2828
<CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
2929
<StartAction>Program</StartAction>
3030
<StartProgram Condition="'$(DevEnvDir)' != ''">$(DevEnvDir)devenv.exe</StartProgram>
31-
<StartArguments>/rootsuffix Exp</StartArguments>
31+
<StartArguments>/rootsuffix Exp /Log</StartArguments>
3232
</PropertyGroup>
3333
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
3434
<DebugSymbols>true</DebugSymbols>
@@ -51,6 +51,7 @@
5151
</PropertyGroup>
5252
<PropertyGroup>
5353
<DefineConstants>$(DefineConstants);VS2017</DefineConstants>
54+
<TargetVsixContainerName>ExtensionManager2017.vsix</TargetVsixContainerName>
5455
</PropertyGroup>
5556
<ItemGroup>
5657
<Content Include="..\..\LICENSE">
@@ -95,10 +96,18 @@
9596
</Compile>
9697
</ItemGroup>
9798
<ItemGroup>
98-
<PackageReference Include="Madskristensen.VisualStudio.SDK" ExcludeAssets="runtime" Version="15.7.81-pre" />
99-
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.0.1619-preview1">
99+
<PackageReference Include="Community.VisualStudio.Toolkit.15">
100+
<Version>15.0.507</Version>
101+
</PackageReference>
102+
<PackageReference Include="Madskristensen.VisualStudio.SDK">
103+
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
104+
<ExcludeAssets>runtime</ExcludeAssets>
105+
<Version>15.7.81-pre</Version>
106+
</PackageReference>
107+
<PackageReference Include="Microsoft.VSSDK.BuildTools">
100108
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
101109
<PrivateAssets>all</PrivateAssets>
110+
<Version>17.0.1619-preview1</Version>
102111
</PackageReference>
103112
</ItemGroup>
104113
<ItemGroup>
@@ -110,6 +119,14 @@
110119
<Project>{6468e392-1c88-4f3c-b8d7-e61f942adbfc}</Project>
111120
<Name>ExtensionManager.UI</Name>
112121
</ProjectReference>
122+
<ProjectReference Include="..\ExtensionManager.VisualStudio.Adapter.Abstractions\ExtensionManager.VisualStudio.Adapter.Abstractions.csproj">
123+
<Project>{78e14f78-6b4a-4e64-95c1-7cc4e91d4a9f}</Project>
124+
<Name>ExtensionManager.VisualStudio.Adapter.Abstractions</Name>
125+
</ProjectReference>
126+
<ProjectReference Include="..\ExtensionManager.VisualStudio.Adapter.Generator\ExtensionManager.VisualStudio.Adapter.Generator.csproj">
127+
<Project>{9baca2e2-713c-42fc-9aa0-a128d48e2d12}</Project>
128+
<Name>ExtensionManager.VisualStudio.Adapter.Generator</Name>
129+
</ProjectReference>
113130
<ProjectReference Include="..\ExtensionManager\ExtensionManager.csproj">
114131
<Project>{B03BF78A-E1A1-4295-A3B2-C5C1AC7E5F70}</Project>
115132
<Name>ExtensionManager</Name>
@@ -118,12 +135,9 @@
118135
<Project>{3a474662-f23f-4339-bf62-22d52b834cfc}</Project>
119136
<Name>ExtensionManager.VisualStudio.Abstractions</Name>
120137
</ProjectReference>
121-
<ProjectReference Include="..\ExtensionManager.VisualStudio.VS2017\ExtensionManager.VisualStudio.VS2017.csproj">
122-
<Project>{c555a2a9-6045-41d1-a8b4-7b9ee859ca96}</Project>
123-
<Name>ExtensionManager.VisualStudio.VS2017</Name>
124-
</ProjectReference>
125138
</ItemGroup>
126139
<Import Project="..\ExtensionManager.Vsix.Shared\ExtensionManager.Vsix.Shared.projitems" Label="Shared" />
140+
<Import Project="..\ExtensionManager.VisualStudio.Shared\ExtensionManager.VisualStudio.Shared.projitems" Label="Shared" />
127141
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
128142
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
129143
<Import Project="..\ExtensionManager.Vsix.props" />

‎src/ExtensionManager.Vsix.VS2017/source.extension.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ internal sealed partial class Vsix
1111
public const string Name = "Extension Manager 2017";
1212
public const string Description = @"Import/export extensions as well as associate extensions with individual solutions";
1313
public const string Language = "en-US";
14-
public const string Version = "1.2.9999";
14+
public const string Version = "9.9.9999";
1515
public const string Author = "Loop8ack";
1616
public const string Tags = "extension pack, vsix";
1717
}

‎src/ExtensionManager.Vsix.VS2017/source.extension.vsixmanifest

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
33
<Metadata>
4-
<Identity Id="9cd6451c-c2fa-46fb-844a-a2535b824f1d" Version="1.2.9999" Language="en-US" Publisher="Loop8ack" />
4+
<Identity Id="9cd6451c-c2fa-46fb-844a-a2535b824f1d" Version="9.9.9999" Language="en-US" Publisher="Loop8ack" />
55
<DisplayName>Extension Manager 2017</DisplayName>
66
<Description xml:space="preserve">Import/export extensions as well as associate extensions with individual solutions</Description>
77
<MoreInfo>https://github.com/loop8ack/ExtensionPackTools</MoreInfo>

‎src/ExtensionManager.Vsix.VS2019/ExtensionManager.Vsix.VS2019.csproj

+20-8
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<OutputType>Library</OutputType>
2020
<RootNamespace>ExtensionManager</RootNamespace>
2121
<AssemblyName>$(MSBuildProjectName)</AssemblyName>
22-
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
22+
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
2323
<GeneratePkgDefFile>true</GeneratePkgDefFile>
2424
<IncludeAssemblyInVSIXContainer>true</IncludeAssemblyInVSIXContainer>
2525
<IncludeDebugSymbolsInVSIXContainer>true</IncludeDebugSymbolsInVSIXContainer>
@@ -28,7 +28,7 @@
2828
<CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
2929
<StartAction>Program</StartAction>
3030
<StartProgram Condition="'$(DevEnvDir)' != ''">$(DevEnvDir)devenv.exe</StartProgram>
31-
<StartArguments>/rootsuffix Exp</StartArguments>
31+
<StartArguments>/rootsuffix Exp /Log</StartArguments>
3232
</PropertyGroup>
3333
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
3434
<DebugSymbols>true</DebugSymbols>
@@ -51,6 +51,7 @@
5151
</PropertyGroup>
5252
<PropertyGroup>
5353
<DefineConstants>$(DefineConstants);VS2019</DefineConstants>
54+
<TargetVsixContainerName>ExtensionManager2019.vsix</TargetVsixContainerName>
5455
</PropertyGroup>
5556
<ItemGroup>
5657
<Content Include="..\..\LICENSE">
@@ -95,12 +96,18 @@
9596
</Compile>
9697
</ItemGroup>
9798
<ItemGroup>
98-
<PackageReference Include="Microsoft.VisualStudio.SDK" ExcludeAssets="runtime" Version="16.0.208">
99+
<PackageReference Include="Community.VisualStudio.Toolkit.16">
100+
<Version>16.0.507</Version>
101+
</PackageReference>
102+
<PackageReference Include="Microsoft.VisualStudio.SDK">
99103
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
104+
<ExcludeAssets>runtime</ExcludeAssets>
105+
<Version>16.0.208</Version>
100106
</PackageReference>
101-
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.0.1619-preview1">
107+
<PackageReference Include="Microsoft.VSSDK.BuildTools">
102108
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
103109
<PrivateAssets>all</PrivateAssets>
110+
<Version>17.0.1619-preview1</Version>
104111
</PackageReference>
105112
</ItemGroup>
106113
<ItemGroup>
@@ -112,6 +119,14 @@
112119
<Project>{6468e392-1c88-4f3c-b8d7-e61f942adbfc}</Project>
113120
<Name>ExtensionManager.UI</Name>
114121
</ProjectReference>
122+
<ProjectReference Include="..\ExtensionManager.VisualStudio.Adapter.Abstractions\ExtensionManager.VisualStudio.Adapter.Abstractions.csproj">
123+
<Project>{78e14f78-6b4a-4e64-95c1-7cc4e91d4a9f}</Project>
124+
<Name>ExtensionManager.VisualStudio.Adapter.Abstractions</Name>
125+
</ProjectReference>
126+
<ProjectReference Include="..\ExtensionManager.VisualStudio.Adapter.Generator\ExtensionManager.VisualStudio.Adapter.Generator.csproj">
127+
<Project>{9baca2e2-713c-42fc-9aa0-a128d48e2d12}</Project>
128+
<Name>ExtensionManager.VisualStudio.Adapter.Generator</Name>
129+
</ProjectReference>
115130
<ProjectReference Include="..\ExtensionManager\ExtensionManager.csproj">
116131
<Project>{B03BF78A-E1A1-4295-A3B2-C5C1AC7E5F70}</Project>
117132
<Name>ExtensionManager</Name>
@@ -120,12 +135,9 @@
120135
<Project>{3a474662-f23f-4339-bf62-22d52b834cfc}</Project>
121136
<Name>ExtensionManager.VisualStudio.Abstractions</Name>
122137
</ProjectReference>
123-
<ProjectReference Include="..\ExtensionManager.VisualStudio.VS2019\ExtensionManager.VisualStudio.VS2019.csproj">
124-
<Project>{4efb3bbe-8c1a-4723-9c8d-89b1dd4e8d60}</Project>
125-
<Name>ExtensionManager.VisualStudio.VS2019</Name>
126-
</ProjectReference>
127138
</ItemGroup>
128139
<Import Project="..\ExtensionManager.Vsix.Shared\ExtensionManager.Vsix.Shared.projitems" Label="Shared" />
140+
<Import Project="..\ExtensionManager.VisualStudio.Shared\ExtensionManager.VisualStudio.Shared.projitems" Label="Shared" />
129141
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
130142
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
131143
<Import Project="..\ExtensionManager.Vsix.props" />

‎src/ExtensionManager.Vsix.VS2019/source.extension.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ internal sealed partial class Vsix
1111
public const string Name = "Extension Manager 2019";
1212
public const string Description = @"Import/export extensions as well as associate extensions with individual solutions";
1313
public const string Language = "en-US";
14-
public const string Version = "1.2.9999";
14+
public const string Version = "9.9.9999";
1515
public const string Author = "Loop8ack";
1616
public const string Tags = "extension pack, vsix";
1717
}

‎src/ExtensionManager.Vsix.VS2019/source.extension.vsixmanifest

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
33
<Metadata>
4-
<Identity Id="e886a834-bf5c-4bc6-aabe-ffad88b4dc6e" Version="1.2.9999" Language="en-US" Publisher="Loop8ack" />
4+
<Identity Id="e886a834-bf5c-4bc6-aabe-ffad88b4dc6e" Version="9.9.9999" Language="en-US" Publisher="Loop8ack" />
55
<DisplayName>Extension Manager 2019</DisplayName>
66
<Description xml:space="preserve">Import/export extensions as well as associate extensions with individual solutions</Description>
77
<MoreInfo>https://github.com/loop8ack/ExtensionPackTools</MoreInfo>

‎src/ExtensionManager.Vsix.VS2022/ExtensionManager.Vsix.VS2022.csproj

+25-7
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,11 @@
4949
<DefineConstants>TRACE</DefineConstants>
5050
<ErrorReport>prompt</ErrorReport>
5151
<WarningLevel>4</WarningLevel>
52+
<PlatformTarget>AnyCPU</PlatformTarget>
5253
</PropertyGroup>
5354
<PropertyGroup>
5455
<DefineConstants>$(DefineConstants);VS2022</DefineConstants>
56+
<TargetVsixContainerName>ExtensionManager2022.vsix</TargetVsixContainerName>
5557
</PropertyGroup>
5658
<ItemGroup>
5759
<Content Include="..\..\LICENSE">
@@ -96,13 +98,24 @@
9698
</Compile>
9799
</ItemGroup>
98100
<ItemGroup>
99-
<PackageReference Include="Microsoft.VisualStudio.SDK" ExcludeAssets="runtime" Version="17.6.36389">
101+
<PackageReference Include="Community.VisualStudio.Toolkit.17">
102+
<Version>17.0.507</Version>
103+
</PackageReference>
104+
<PackageReference Include="Microsoft.VisualStudio.SDK">
100105
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
106+
<ExcludeAssets>runtime</ExcludeAssets>
107+
<Version>17.6.36389</Version>
101108
</PackageReference>
102-
<PackageReference Include="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="3.6.2115" />
103-
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.6.2164">
109+
<PackageReference Include="Microsoft.VisualStudio.Setup.Configuration.Interop">
110+
<Version>3.6.2115</Version>
111+
</PackageReference>
112+
<PackageReference Include="Microsoft.VSSDK.BuildTools">
104113
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
105114
<PrivateAssets>all</PrivateAssets>
115+
<Version>17.6.2164</Version>
116+
</PackageReference>
117+
<PackageReference Include="System.Collections.Immutable">
118+
<Version>8.0.0</Version>
106119
</PackageReference>
107120
</ItemGroup>
108121
<ItemGroup>
@@ -114,6 +127,14 @@
114127
<Project>{6468e392-1c88-4f3c-b8d7-e61f942adbfc}</Project>
115128
<Name>ExtensionManager.UI</Name>
116129
</ProjectReference>
130+
<ProjectReference Include="..\ExtensionManager.VisualStudio.Adapter.Abstractions\ExtensionManager.VisualStudio.Adapter.Abstractions.csproj">
131+
<Project>{78e14f78-6b4a-4e64-95c1-7cc4e91d4a9f}</Project>
132+
<Name>ExtensionManager.VisualStudio.Adapter.Abstractions</Name>
133+
</ProjectReference>
134+
<ProjectReference Include="..\ExtensionManager.VisualStudio.Adapter.Generator\ExtensionManager.VisualStudio.Adapter.Generator.csproj">
135+
<Project>{9baca2e2-713c-42fc-9aa0-a128d48e2d12}</Project>
136+
<Name>ExtensionManager.VisualStudio.Adapter.Generator</Name>
137+
</ProjectReference>
117138
<ProjectReference Include="..\ExtensionManager\ExtensionManager.csproj">
118139
<Project>{B03BF78A-E1A1-4295-A3B2-C5C1AC7E5F70}</Project>
119140
<Name>ExtensionManager</Name>
@@ -122,12 +143,9 @@
122143
<Project>{3a474662-f23f-4339-bf62-22d52b834cfc}</Project>
123144
<Name>ExtensionManager.VisualStudio.Abstractions</Name>
124145
</ProjectReference>
125-
<ProjectReference Include="..\ExtensionManager.VisualStudio.VS2022\ExtensionManager.VisualStudio.VS2022.csproj">
126-
<Project>{8cad40ad-aaec-4f29-9e74-cbd51d5c4001}</Project>
127-
<Name>ExtensionManager.VisualStudio.VS2022</Name>
128-
</ProjectReference>
129146
</ItemGroup>
130147
<Import Project="..\ExtensionManager.Vsix.Shared\ExtensionManager.Vsix.Shared.projitems" Label="Shared" />
148+
<Import Project="..\ExtensionManager.VisualStudio.Shared\ExtensionManager.VisualStudio.Shared.projitems" Label="Shared" />
131149
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
132150
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />
133151
<Import Project="..\ExtensionManager.Vsix.props" />

‎src/ExtensionManager.Vsix.VS2022/source.extension.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ internal sealed partial class Vsix
1111
public const string Name = "Extension Manager 2022";
1212
public const string Description = @"Import/export extensions as well as associate extensions with individual solutions";
1313
public const string Language = "en-US";
14-
public const string Version = "1.2.9999";
14+
public const string Version = "9.9.9999";
1515
public const string Author = "Loop8ack";
1616
public const string Tags = "extension pack, vsix";
1717
}

‎src/ExtensionManager.Vsix.VS2022/source.extension.vsixmanifest

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
33
<Metadata>
4-
<Identity Id="3d183c28-64c6-4efb-a201-50310d65e675" Version="1.2.9999" Language="en-US" Publisher="Loop8ack" />
4+
<Identity Id="3d183c28-64c6-4efb-a201-50310d65e675" Version="9.9.9999" Language="en-US" Publisher="Loop8ack" />
55
<DisplayName>Extension Manager 2022</DisplayName>
66
<Description xml:space="preserve">Import/export extensions as well as associate extensions with individual solutions</Description>
77
<MoreInfo>https://github.com/loop8ack/ExtensionPackTools</MoreInfo>

0 commit comments

Comments
 (0)
Please sign in to comment.