diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..e741a74
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,42 @@
+name: Build
+
+on:
+ workflow_dispatch:
+ pull_request:
+ types: [opened, reopened]
+ push:
+ branches:
+ - main
+
+jobs:
+ build:
+ runs-on: windows-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: 1. Generate Version
+ id: version
+ run: |
+ $year = (Get-Date).Year
+ $month = (Get-Date).Month
+ $day = (Get-Date).Day
+ $version = "$year.$month.$day.${{ github.run_number }}"
+ echo "version=$version" >> $env:GITHUB_OUTPUT
+ shell: pwsh
+
+ - name: 2. Build Project
+ run: dotnet build src/CodingWithCalvin.SuperClean/CodingWithCalvin.SuperClean.csproj -c Release -p:SetVsixVersion=${{ steps.version.outputs.version }}
+
+ - name: 3. Create Information File
+ uses: jsdaniell/create-json@v1.2.3
+ with:
+ name: 'src/CodingWithCalvin.SuperClean/bin/Release/CodingWithCalvin.SuperClean.info'
+ json: '{"sha":"${{ github.sha }}", "version":"${{ steps.version.outputs.version }}"}'
+
+ - name: 4. Upload Artifact
+ uses: actions/upload-artifact@v4
+ with:
+ path: |
+ src/CodingWithCalvin.SuperClean/bin/Release/CodingWithCalvin.SuperClean.info
+ src/CodingWithCalvin.SuperClean/bin/Release/CodingWithCalvin.SuperClean.vsix
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 3a3d04a..34a538e 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -19,9 +19,9 @@ jobs:
- name: 1. Download artifact
id: download-artifact
- uses: dawidd6/action-download-artifact@v2
+ uses: dawidd6/action-download-artifact@v6
with:
- workflow: release_build_and_deploy.yml
+ workflow: build.yml
workflow_conclusion: success
- name: 2. Parse Artifact Manifest
diff --git a/.github/workflows/release_build_and_deploy.yml b/.github/workflows/release_build_and_deploy.yml
deleted file mode 100644
index e739347..0000000
--- a/.github/workflows/release_build_and_deploy.yml
+++ /dev/null
@@ -1,46 +0,0 @@
-name: 'Build and Deploy'
-
-on:
- workflow_dispatch:
- pull_request:
- types: [opened, reopened]
- push:
- branches:
- - main
- tags-ignore:
- - '[0-9]+.[0-9]+.[0-9]+.[0-9]+'
-
-jobs:
- Release-Build-and-Deploy:
- runs-on: windows-latest
-
- steps:
- - uses: actions/checkout@v4
- - uses: microsoft/setup-msbuild@v2
- - uses: nuget/setup-nuget@v2
-
- - name: 1. Versioning Release
- id: step-version
- uses: CodingWithCalvin/GHA-VSVsixVersioner@v1
- with:
- extension-manifest-file: 'src/CodingWithCalvin.SuperClean/source.extension.vsixmanifest'
- extension-source-file: 'src/CodingWithCalvin.SuperClean/source.extension.cs'
-
- - name: 2. Restoring Packages
- run: nuget restore ./src/CodingWithCalvin.SuperClean.slnx
-
- - name: 3. Building Project
- run: msbuild 'src/CodingWithCalvin.SuperClean/CodingWithCalvin.SuperClean.csproj' /p:configuration='Release' /p:platform='x64' /p:DeployExtension=False
-
- - name: 4. Create Information File
- uses: jsdaniell/create-json@v1.2.3
- with:
- name: 'src/CodingWithCalvin.SuperClean/bin/x64/Release/CodingWithCalvin.SuperClean.info'
- json: '{"sha":"${{ github.sha }}", "version":"${{ steps.step-version.outputs.version }}"}'
-
- - name: 5. Publishing Build Artifact
- uses: actions/upload-artifact@v4
- with:
- path: |
- src/CodingWithCalvin.SuperClean/bin/x64/Release/CodingWithCalvin.SuperClean.info
- src/CodingWithCalvin.SuperClean/bin/x64/Release/CodingWithCalvin.SuperClean.vsix
diff --git a/.gitignore b/.gitignore
index 566550e..1ef4d0a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -183,6 +183,9 @@ orleans.codegen.cs
# RIA/Silverlight projects
Generated_Code/
+# SDK-style project generated files
+Generated/
+
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
diff --git a/src/CodingWithCalvin.SuperClean/CodingWithCalvin.SuperClean.csproj b/src/CodingWithCalvin.SuperClean/CodingWithCalvin.SuperClean.csproj
index ac430b9..322ec51 100644
--- a/src/CodingWithCalvin.SuperClean/CodingWithCalvin.SuperClean.csproj
+++ b/src/CodingWithCalvin.SuperClean/CodingWithCalvin.SuperClean.csproj
@@ -1,118 +1,32 @@
-
-
+
+
- 16.0
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
- true
-
-
-
-
- 15.0
-
-
-
- x64
- bin\x64\Release\
- true
- X64
-
-
- true
- bin\x64\Debug\
- x64
- full
- TRACE;DEBUG;X64
-
-
-
- Debug
- x64
- 2.0
- {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- {123DBC9B-8955-4446-9A74-DD2B8068F7B0}
- Library
- Properties
+ net48
CodingWithCalvin.SuperClean
CodingWithCalvin.SuperClean
- v4.8
- true
- true
- true
- true
- true
- false
- Program
- $(DevEnvDir)devenv.exe
- /rootsuffix Exp
- v3
+ latest
+ bin/$(Configuration)/
+
+
+ True
+
+
-
-
- True
- True
- VSCommandTable.vsct
-
-
-
-
- True
- True
- source.extension.vsixmanifest
-
-
-
-
- resources\LICENSE
- true
-
-
- Designer
- VsixManifestGenerator
- source.extension.cs
-
-
-
-
-
-
-
-
-
-
-
- VsctGenerator
- VSCommandTable.cs
- Menus.ctmenu
-
-
-
-
- 17.0.492
-
-
- 17.5.33428.388
-
-
- 17.5.4072
- runtime; build; native; contentfiles; analyzers
-
+
+
+
-
- resources\icon.png
+
true
-
- resources\logo.png
+
true
-
- resources\LICENSE
+
true
-
-
-
\ No newline at end of file
+
+
diff --git a/src/CodingWithCalvin.SuperClean/Properties/AssemblyInfo.cs b/src/CodingWithCalvin.SuperClean/Properties/AssemblyInfo.cs
deleted file mode 100644
index 8b80ca6..0000000
--- a/src/CodingWithCalvin.SuperClean/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-using CodingWithCalvin.SuperClean;
-
-[assembly: AssemblyTitle(Vsix.Name)]
-[assembly: AssemblyDescription(Vsix.Description)]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany(Vsix.Author)]
-[assembly: AssemblyProduct(Vsix.Name)]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-[assembly: ComVisible(false)]
-[assembly: AssemblyVersion(Vsix.Version)]
-[assembly: AssemblyFileVersion(Vsix.Version)]
diff --git a/src/CodingWithCalvin.SuperClean/source.extension.vsixmanifest b/src/CodingWithCalvin.SuperClean/source.extension.vsixmanifest
index cb5cd3c..8cea8be 100644
--- a/src/CodingWithCalvin.SuperClean/source.extension.vsixmanifest
+++ b/src/CodingWithCalvin.SuperClean/source.extension.vsixmanifest
@@ -10,9 +10,12 @@
bin,debug,folder,output
-