Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Bump to .NET 8 , PS 7.4 support, update version to 3.x #4369

Merged
merged 7 commits into from
Oct 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "PnP PowerShell",
"image": "mcr.microsoft.com/devcontainers/dotnet:0-6.0",
"image": "mcr.microsoft.com/devcontainers/dotnet:0-8.0",
"features": {
"ghcr.io/devcontainers/features/git:1": {
"ppa": true,
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# PnP PowerShell

**PnP PowerShell** is a .NET 6 based PowerShell Module providing nearly 750 cmdlets that work with Microsoft 365 environments such as SharePoint Online, Microsoft Teams, Microsoft Project, Security & Compliance, Azure Active Directory, and more.
**PnP PowerShell** is a .NET 8 based PowerShell Module providing nearly 750 cmdlets that work with Microsoft 365 environments such as SharePoint Online, Microsoft Teams, Microsoft Project, Security & Compliance, Azure Active Directory, and more.

Last version | Last nightly version
-------------|---------------------
Expand Down
4 changes: 2 additions & 2 deletions build/Build-Debug.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ else {
$buildVersion = $versionObject.Patch + 1;
}

$configuration = "net6.0-windows"
$configuration = "net8.0-windows"

$version = "$($versionObject.Major).$($versionObject.Minor).$buildVersion"

Expand Down Expand Up @@ -113,7 +113,7 @@ if ($LASTEXITCODE -eq 0) {

$commonFiles = [System.Collections.Generic.Hashset[string]]::new()
Copy-Item -Path "$PSScriptRoot/../resources/*.ps1xml" -Destination "$destinationFolder"
Get-ChildItem -Path "$PSScriptRoot/../src/ALC/bin/Debug/net6.0" | Where-Object { $_.Extension -in '.dll', '.pdb' } | Foreach-Object { if (!$assemblyExceptions.Contains($_.Name)) { [void]$commonFiles.Add($_.Name) }; Copy-Item -LiteralPath $_.FullName -Destination $commonPath }
Get-ChildItem -Path "$PSScriptRoot/../src/ALC/bin/Debug/net8.0" | Where-Object { $_.Extension -in '.dll', '.pdb' } | Foreach-Object { if (!$assemblyExceptions.Contains($_.Name)) { [void]$commonFiles.Add($_.Name) }; Copy-Item -LiteralPath $_.FullName -Destination $commonPath }
Get-ChildItem -Path "$PSScriptRoot/../src/Commands/bin/Debug/$configuration" | Where-Object { $_.Extension -in '.dll', '.pdb' -and -not $commonFiles.Contains($_.Name) } | Foreach-Object { Copy-Item -LiteralPath $_.FullName -Destination $corePath }
}
Catch {
Expand Down
10 changes: 5 additions & 5 deletions build/Build-Nightly.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,11 @@ if ($runPublish -eq $true) {

$commonFiles = [System.Collections.Generic.Hashset[string]]::new()
Copy-Item -Path "$PSscriptRoot/../resources/*.ps1xml" -Destination "$destinationFolder"
Get-ChildItem -Path "$PSScriptRoot/../src/ALC/bin/Release/net6.0" | Where-Object { $_.Extension -in '.dll', '.pdb' } | Foreach-Object { if (!$assemblyExceptions.Contains($_.Name)) { [void]$commonFiles.Add($_.Name) }; Copy-Item -LiteralPath $_.FullName -Destination $commonPath }
Get-ChildItem -Path "$PSScriptRoot/../src/Commands/bin/Release/net6.0-windows" | Where-Object { $_.Extension -in '.dll', '.pdb' -and -not $commonFiles.Contains($_.Name) } | Foreach-Object { Copy-Item -LiteralPath $_.FullName -Destination $corePath }
Get-ChildItem -Path "$PSScriptRoot/../src/Commands/bin/Release/net6.0-windows/runtimes/win-x64/native" -Recurse | Where-Object { $_.Extension -in '.dll', '.pdb' -and -not $commonFiles.Contains($_.Name) } | Foreach-Object { Copy-Item -LiteralPath $_.FullName -Destination $coreRuntimePathWin64 }
Get-ChildItem -Path "$PSScriptRoot/../src/Commands/bin/Release/net6.0-windows/runtimes/win-arm64/native" -Recurse | Where-Object { $_.Extension -in '.dll', '.pdb' -and -not $commonFiles.Contains($_.Name) } | Foreach-Object { Copy-Item -LiteralPath $_.FullName -Destination $coreRuntimePathArm64 }
Get-ChildItem -Path "$PSScriptRoot/../src/Commands/bin/Release/net6.0-windows/runtimes/win-x86/native" -Recurse | Where-Object { $_.Extension -in '.dll', '.pdb' -and -not $commonFiles.Contains($_.Name) } | Foreach-Object { Copy-Item -LiteralPath $_.FullName -Destination $coreRuntimePathx86 }
Get-ChildItem -Path "$PSScriptRoot/../src/ALC/bin/Release/net8.0" | Where-Object { $_.Extension -in '.dll', '.pdb' } | Foreach-Object { if (!$assemblyExceptions.Contains($_.Name)) { [void]$commonFiles.Add($_.Name) }; Copy-Item -LiteralPath $_.FullName -Destination $commonPath }
Get-ChildItem -Path "$PSScriptRoot/../src/Commands/bin/Release/net8.0-windows" | Where-Object { $_.Extension -in '.dll', '.pdb' -and -not $commonFiles.Contains($_.Name) } | Foreach-Object { Copy-Item -LiteralPath $_.FullName -Destination $corePath }
Get-ChildItem -Path "$PSScriptRoot/../src/Commands/bin/Release/net8.0-windows/runtimes/win-x64/native" -Recurse | Where-Object { $_.Extension -in '.dll', '.pdb' -and -not $commonFiles.Contains($_.Name) } | Foreach-Object { Copy-Item -LiteralPath $_.FullName -Destination $coreRuntimePathWin64 }
Get-ChildItem -Path "$PSScriptRoot/../src/Commands/bin/Release/net8.0-windows/runtimes/win-arm64/native" -Recurse | Where-Object { $_.Extension -in '.dll', '.pdb' -and -not $commonFiles.Contains($_.Name) } | Foreach-Object { Copy-Item -LiteralPath $_.FullName -Destination $coreRuntimePathArm64 }
Get-ChildItem -Path "$PSScriptRoot/../src/Commands/bin/Release/net8.0-windows/runtimes/win-x86/native" -Recurse | Where-Object { $_.Extension -in '.dll', '.pdb' -and -not $commonFiles.Contains($_.Name) } | Foreach-Object { Copy-Item -LiteralPath $_.FullName -Destination $coreRuntimePathx86 }
}
Catch {
Write-Host "Error: Cannot copy files to $destinationFolder. Maybe a PowerShell session is still using the module?"
Expand Down
4 changes: 2 additions & 2 deletions docker/hub.docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

![PnP PowerShell](https://repository-images.githubusercontent.com/296298081/933a6d00-072b-11eb-839d-56df16c29588)

**PnP PowerShell** is a .NET 6 / .NET Framework 4.6.2 based PowerShell Module providing over 650 cmdlets that work with Microsoft 365 environments such as SharePoint Online, Microsoft Teams, Microsoft Project, Security & Compliance, Azure Active Directory, and more.
**PnP PowerShell** is a .NET 8 / .NET Framework 4.6.2 based PowerShell Module providing over 650 cmdlets that work with Microsoft 365 environments such as SharePoint Online, Microsoft Teams, Microsoft Project, Security & Compliance, Azure Active Directory, and more.

Last version | Last nightly version
-------------|---------------------
Expand All @@ -24,7 +24,7 @@ Last version | Last nightly version

## About this image

**PnP PowerShell** is a .NET 6 based PowerShell Module providing over 650 cmdlets that work with Microsoft 365 environments such as SharePoint Online, Microsoft Teams, Microsoft Project, Security & Compliance, Azure Active Directory, and more.
**PnP PowerShell** is a .NET 8 based PowerShell Module providing over 650 cmdlets that work with Microsoft 365 environments such as SharePoint Online, Microsoft Teams, Microsoft Project, Security & Compliance, Azure Active Directory, and more.

## Usage examples

Expand Down
2 changes: 1 addition & 1 deletion docker/pnppowershell.dockerFile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ARG BASE_IMAGE_SUFFIX=alpine-3.17
ARG BASE_IMAGE=mcr.microsoft.com/powershell:lts-7.2-$BASE_IMAGE_SUFFIX
ARG BASE_IMAGE=mcr.microsoft.com/powershell:lts-7.4-$BASE_IMAGE_SUFFIX
FROM $BASE_IMAGE

SHELL ["pwsh", "-command"]
Expand Down
2 changes: 1 addition & 1 deletion documentation/Convert-PnPSiteTemplate.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,4 @@ Accept wildcard characters: False
## RELATED LINKS

[Microsoft 365 Patterns and Practices](https://aka.ms/m365pnp)
[Encoding documentation](https://learn.microsoft.com/dotnet/api/system.text.encoding?view=net-6.0)
[Encoding documentation](https://learn.microsoft.com/dotnet/api/system.text.encoding?view=net-8.0)
2 changes: 1 addition & 1 deletion documentation/Get-PnPSiteTemplate.md
Original file line number Diff line number Diff line change
Expand Up @@ -644,4 +644,4 @@ Accept wildcard characters: False
## RELATED LINKS

[Microsoft 365 Patterns and Practices](https://aka.ms/m365pnp)
[Encoding documentation](https://learn.microsoft.com/dotnet/api/system.text.encoding?view=net-6.0)
[Encoding documentation](https://learn.microsoft.com/dotnet/api/system.text.encoding?view=net-8.0)
2 changes: 1 addition & 1 deletion pages/articles/azureautomationrunbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ To add PnP PowerShell to the Azure Automation Account, follow these steps:
#### Specific stable version

> [!Important]
> Currently stable PnP PowerShell version that works with Azure Automation 7.2 Runbooks is **2.1.1**.
> Currently stable PnP PowerShell version that works with Azure Automation 7.2 Runbooks is **2.12.0**.
> If you would like to use a [latest nightly build](#latest-prerelease-version) instead, use the below instructions
Select **Browse from gallery**, Runtime version **7.2 (preview)** and click on the **Click here to browse from gallery** link
Expand Down
4 changes: 2 additions & 2 deletions pages/articles/azurefunctions.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ As the UI in [the Azure Portal](https://portal.azure.com) changes every now and

![Creating a function app resource](./../images/azurefunctions/createfunctionappresource.png)

1. Choose runtime stack `PowerShell Core` and version `7.2` (7.0 is not longer an option as of December 3rd, 2022)
1. Choose runtime stack `PowerShell Core` and version `7.4` (7.0 is not longer an option as of December 3rd, 2022)

![Create function app basics](./../images/azurefunctions/createfunctionappbasics.png)
![Create function app basics](./../images/azurefunctions/createfunctionappbasics2.png)

1. Select `Windows` as the operating system or else you will not be able to perform the following steps from your browser.

Expand Down
8 changes: 4 additions & 4 deletions pages/articles/gettingstartedcontributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ PnP PowerShell only runs on PowerShell 7. If you don't have it installed yet, fo

![Installation of PowerShell 7 done](./../images/contributing/installps7done.png)

## Installing the .NET SDK 6
## Installing the .NET SDK 8

To be able to compile the PnP PowerShell code, you need to have the .NET SDK 6 installed. If you don't have it installed yet, follow the steps below to install it. If you already have it installed, you can skip to the next paragraph.
To be able to compile the PnP PowerShell code, you need to have the .NET SDK 8 installed. If you don't have it installed yet, follow the steps below to install it. If you already have it installed, you can skip to the next paragraph.

1. Navigate to the [.NET SDK 6 download page](https://dotnet.microsoft.com/download/dotnet/6.0) and download the latest version of the .NET SDK 6. It is available for Windows, Linux and Mac.
1. Navigate to the [.NET SDK 8 download page](https://dotnet.microsoft.com/download/dotnet/8.0) and download the latest version of the .NET SDK 8. It is available for Windows, Linux and Mac.

![Installing .NET SDK 6](./../images/contributing/dotnetsdk.png)
![Installing .NET SDK 8](./../images/contributing/dotnetsdk.png)

1. You can accept all the defaults and just do a next-next-finish installation.

Expand Down
6 changes: 3 additions & 3 deletions pages/articles/installation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Installing PnP PowerShell

You need PowerShell 7.2 or later to use PnP PowerShell. It is available for Windows, Linux and Mac and can be [installed through here](https://learn.microsoft.com/powershell/scripting/install/installing-powershell).
You need PowerShell 7.4 or later to use PnP PowerShell. It is available for Windows, Linux and Mac and can be [installed through here](https://learn.microsoft.com/powershell/scripting/install/installing-powershell).

## Stable build

Expand All @@ -23,7 +23,7 @@ Install-Module PnP.PowerShell -Scope CurrentUser -AllowPrerelease -SkipPublisher
To use PnP.PowerShell in a Windows container:

```powershell
docker run -it m365pnp/powershell:1.10.0-nanoserver-1809
docker run -it m365pnp/powershell:2.12.0-nanoserver-1809
```

To use PnP.PowerShell in a Linux container:
Expand All @@ -34,7 +34,7 @@ docker run -it m365pnp/powershell

# Updating PnP PowerShell

If you already have PnP PowerShell installed and just want to update to the latest version you can follow these steps. If you're not sure if your version is already up to date, it does no harm to run it anyway. If there's no new version available, it will not do anything. You need PowerShell 7.2 or later to use PnP PowerShell. It is available for Windows, Linux and Mac and can be [installed through here](https://learn.microsoft.com/powershell/scripting/install/installing-powershell).
If you already have PnP PowerShell installed and just want to update to the latest version you can follow these steps. If you're not sure if your version is already up to date, it does no harm to run it anyway. If there's no new version available, it will not do anything. You need PowerShell 7.4 or later to use PnP PowerShell. It is available for Windows, Linux and Mac and can be [installed through here](https://learn.microsoft.com/powershell/scripting/install/installing-powershell).

## Stable build

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/ALC/PnP.PowerShell.ALC.csproj
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<Configurations>Debug;Release;DebugLocal</Configurations>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.ApplicationInsights" Version="2.18.0" />
<PackageReference Include="Microsoft.ApplicationInsights" Version="2.21.0" />
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion src/Commands/Base/PnPPowerShellModuleInitializer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ static PnPPowerShellModuleInitializer()
s_binCommonPath = Path.Combine(Path.GetDirectoryName(s_binBasePath), "Common");
if (Environment.GetEnvironmentVariable("PNP_PS_DEBUG_IN_VISUAL_STUDIO") == "True")
{
s_binCommonPath = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "..", "..", "..", "..", "..", "src", "ALC", "bin", "Debug", "net6.0"));
s_binCommonPath = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "..", "..", "..", "..", "..", "src", "ALC", "bin", "Debug", "net8.0"));
}

s_dependencies = new HashSet<string>(StringComparer.Ordinal);
Expand Down
50 changes: 25 additions & 25 deletions src/Commands/PnP.PowerShell.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Import Project="Sdk.targets" Condition="'$(OS)' != 'Windows_NT'" />

<PropertyGroup>
<LangVersion>10</LangVersion>
<LangVersion>12</LangVersion>
</PropertyGroup>

<PropertyGroup>
Expand All @@ -27,7 +27,7 @@
<RepositoryUrl>https://github.com/pnp/powershell</RepositoryUrl>
<PackageProjectUrl>https://github.com/pnp/powershell</PackageProjectUrl>
<PackageTags>Microsoft 365; PowerShell; SharePoint; Teams; Graph; Azure AD</PackageTags>
<Description>PnP PowerShell is a .NET 6 based PowerShell Module providing over 650 cmdlets that work with Microsoft 365 environments such as SharePoint Online, Microsoft Teams, Microsoft Project, Security &amp; Compliance, Azure Active Directory, and more.</Description>
<Description>PnP PowerShell is a .NET 8 based PowerShell Module providing over 750 cmdlets that work with Microsoft 365 environments such as SharePoint Online, Microsoft Teams, Microsoft Project, Security &amp; Compliance, Azure Active Directory, and more.</Description>
<PackageIcon>nugeticon.png</PackageIcon>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>
Expand Down Expand Up @@ -98,53 +98,53 @@

<ItemGroup Condition="'$(PnPCoreSdkPath)' != '' and '$(IsRelease)' != '1'">
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="1.1.1" />
<Reference Include="PnP.Core" Condition="'$(TargetFramework)' == 'net6.0-windows'">
<HintPath>$(PnPCoreSdkPath)PnP.Core\bin\Debug\net6.0\PnP.Core.dll</HintPath>
<Reference Include="PnP.Core" Condition="'$(TargetFramework)' == 'net8.0-windows'">
<HintPath>$(PnPCoreSdkPath)PnP.Core\bin\Debug\net8.0\PnP.Core.dll</HintPath>
<Private>true</Private>
<SpecificVersion>false</SpecificVersion>
</Reference>
<Reference Include="PnP.Core.Auth" Condition="'$(TargetFramework)' == 'net6.0-windows'">
<HintPath>$(PnPCoreSdkPath)PnP.Core.Auth\bin\Debug\net6.0\PnP.Core.Auth.dll</HintPath>
<Reference Include="PnP.Core.Auth" Condition="'$(TargetFramework)' == 'net8.0-windows'">
<HintPath>$(PnPCoreSdkPath)PnP.Core.Auth\bin\Debug\net8.0\PnP.Core.Auth.dll</HintPath>
<Private>true</Private>
<SpecificVersion>false</SpecificVersion>
</Reference>
<Reference Include="PnP.Core.Admin" Condition="'$(TargetFramework)' == 'net6.0-windows'">
<HintPath>$(PnPCoreSdkPath)PnP.Core.Admin\bin\Debug\net6.0\PnP.Core.Admin.dll</HintPath>
<Reference Include="PnP.Core.Admin" Condition="'$(TargetFramework)' == 'net8.0-windows'">
<HintPath>$(PnPCoreSdkPath)PnP.Core.Admin\bin\Debug\net8.0\PnP.Core.Admin.dll</HintPath>
<Private>true</Private>
<SpecificVersion>false</SpecificVersion>
</Reference>
<Reference Include="PnP.Core.Transformation" Condition="'$(TargetFramework)' == 'net6.0-windows'">
<HintPath>$(PnPCoreSdkPath)PnP.Core.Transformation\bin\Debug\net6.0\PnP.Core.Transformation.dll</HintPath>
<Reference Include="PnP.Core.Transformation" Condition="'$(TargetFramework)' == 'net8.0-windows'">
<HintPath>$(PnPCoreSdkPath)PnP.Core.Transformation\bin\Debug\net8.0\PnP.Core.Transformation.dll</HintPath>
<Private>true</Private>
<SpecificVersion>false</SpecificVersion>
</Reference>
<Reference Include="PnP.Core.Transformation.SharePoint" Condition="'$(TargetFramework)' == 'net6.0-windows'">
<HintPath>$(PnPCoreSdkPath)PnP.Core.Transformation.SharePoint\bin\Debug\net6.0\PnP.Core.Transformation.SharePoint.dll</HintPath>
<Reference Include="PnP.Core.Transformation.SharePoint" Condition="'$(TargetFramework)' == 'net8.0-windows'">
<HintPath>$(PnPCoreSdkPath)PnP.Core.Transformation.SharePoint\bin\Debug\net8.0\PnP.Core.Transformation.SharePoint.dll</HintPath>
<Private>true</Private>
<SpecificVersion>false</SpecificVersion>
</Reference>
</ItemGroup>

<ItemGroup Condition="'$(PnPFrameworkPath)' != '' and '$(IsRelease)' != '1'">
<Reference Include="PnP.Framework" Condition="'$(TargetFramework)' == 'net6.0-windows'">
<HintPath>$(PnPFrameworkPath)PnP.Framework\bin\Debug\net6.0\PnP.Framework.dll</HintPath>
<Reference Include="PnP.Framework" Condition="'$(TargetFramework)' == 'net8.0-windows'">
<HintPath>$(PnPFrameworkPath)PnP.Framework\bin\Debug\net8.0\PnP.Framework.dll</HintPath>
<Private>true</Private>
<SpecificVersion>false</SpecificVersion>
</Reference>
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == 'net6.0-windows'">
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.1" />
<PackageReference Include="System.Security.Cryptography.ProtectedData" Version="6.0.0" />
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0-windows'">
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.0" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0" />
<PackageReference Include="System.Security.Cryptography.ProtectedData" Version="8.0.0" />
<PackageReference Include="System.Security.Cryptography.OpenSsl" Version="5.0.0" />
<PackageReference Include="System.Text.Encodings.Web" Version="6.0.0" />
<PackageReference Include="System.Management.Automation" Version="7.2.0" />
<PackageReference Include="System.Text.Json" Version="6.0.7" />
<PackageReference Include="TextCopy" Version="6.1.0" />
<PackageReference Include="System.Text.Encodings.Web" Version="8.0.0" />
<PackageReference Include="System.Management.Automation" Version="7.4.4" />
<PackageReference Include="System.Text.Json" Version="8.0.4" />
<PackageReference Include="TextCopy" Version="6.2.1" />

</ItemGroup>

Expand Down
2 changes: 1 addition & 1 deletion src/Commands/Sdk.targets
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<Project>
<PropertyGroup>
<TargetFrameworks>net6.0-windows</TargetFrameworks>
<TargetFrameworks>net8.0-windows</TargetFrameworks>
</PropertyGroup>
</Project>
Loading
Loading