-
Notifications
You must be signed in to change notification settings - Fork 525
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add integration test suite for group conditions
- Loading branch information
1 parent
3ac6f2e
commit 227562f
Showing
30 changed files
with
1,650 additions
and
502 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
209 changes: 209 additions & 0 deletions
209
integrationtests/Paket.IntegrationTests/ConditionSpecs.fs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,209 @@ | ||
module Paket.IntegrationTests.ConditionSpecs | ||
|
||
open System.Text.RegularExpressions | ||
open Fake | ||
open System | ||
open NUnit.Framework | ||
open FsUnit | ||
open System | ||
open System.IO | ||
open System.Diagnostics | ||
open Paket | ||
open Paket.Domain | ||
|
||
let preparePackages workingDir = | ||
let packagesDir = workingDir @@ "Packages" | ||
|
||
[1..5] | ||
|> List.filter (fun v -> fileExists (workingDir @@ "Packages" @@ $"PaketTest2394.PackageA.%d{v}.0.0.nupkg") |> not) | ||
|> List.map (fun v -> directDotnet false $"pack -o . -p:Version=%d{v}.0" packagesDir) | ||
|> ignore | ||
|
||
let private shouldIncludeVersionedString (pattern: string) (version: int) (inputs: string seq) = | ||
let expected = pattern.Replace("XX", version.ToString()) | ||
let regex = $"""^%s{Regex.Escape(pattern).Replace("XX", "(\d)")}$""" | ||
|
||
inputs | ||
|> Seq.filter (fun input -> Regex.IsMatch(input, regex)) | ||
|> Seq.iter (fun input -> Assert.That(input, Is.EqualTo expected)) | ||
|
||
let private shouldIncludePackageA v i = shouldIncludeVersionedString "PackageA XX.0" v i | ||
let private shouldIncludePackageB v i = shouldIncludeVersionedString "PackageB XX.0 (references PackageB.Transient XX.0)" v i | ||
let private shouldIncludePackageBTransient v i = shouldIncludeVersionedString "PackageB.Transient XX.0" v i | ||
let private shouldIncludeConstant v i = shouldIncludeVersionedString "Constant PACKAGEA_XX set" v i | ||
|
||
[<Test>] | ||
let ``#2394 default group with no condition`` () = | ||
let scenario = "i002394-group-conditions" | ||
preparePackages (originalScenarioPath scenario) | ||
|
||
use __ = prepare scenario | ||
let root = scenarioTempPath scenario | ||
let projectDir = root @@ "TestProjects" | ||
|
||
directPaketInPath "install" projectDir |> ignore | ||
let output = directDotnet false "run --project MainGroup.fsproj" projectDir |> Seq.map (_.Message) | ||
directDotnet false "pack MainGroup.fsproj -o ." projectDir |> ignore | ||
|
||
output |> shouldIncludePackageA 1 | ||
output |> shouldIncludePackageB 1 | ||
output |> shouldIncludePackageBTransient 1 | ||
output |> shouldIncludeConstant 1 | ||
|
||
let nupkgPath = projectDir @@ "MainGroup.1.0.0.nupkg" | ||
|
||
if File.Exists nupkgPath |> not then Assert.Fail $"Expected '%s{nupkgPath}' to exist" | ||
let nuspec = NuGetCache.getNuSpecFromNupkg nupkgPath | ||
let dependencies = nuspec.Dependencies.Value | ||
|> List.map (fun (n, v, _) -> n.Name, v.Range.ToString()) | ||
|
||
let expected = [("PaketTest2394.PackageA", ">= 1.0 < 2.0"); ("PaketTest2394.PackageB", ">= 1.0 < 2.0")] | ||
Assert.That(dependencies, Is.SupersetOf expected) | ||
|
||
[<Test>] | ||
let ``#2394 alternate group with no condition`` () = | ||
let scenario = "i002394-group-conditions" | ||
preparePackages (originalScenarioPath scenario) | ||
|
||
use __ = prepare scenario | ||
let root = scenarioTempPath scenario | ||
let projectDir = root @@ "TestProjects" | ||
|
||
directPaketInPath "install" projectDir |> ignore | ||
let output = directDotnet false "run --project NonConditionalGroup.fsproj" projectDir |> Seq.map (_.Message) | ||
directDotnet false "pack NonConditionalGroup.fsproj -o ." projectDir |> ignore | ||
|
||
output |> shouldIncludePackageA 2 | ||
output |> shouldIncludePackageB 2 | ||
output |> shouldIncludePackageBTransient 2 | ||
output |> shouldIncludeConstant 2 | ||
|
||
let nupkgPath = projectDir @@ "NonConditionalGroup.1.0.0.nupkg" | ||
|
||
if File.Exists nupkgPath |> not then Assert.Fail $"Expected '%s{nupkgPath}' to exist" | ||
let nuspec = NuGetCache.getNuSpecFromNupkg nupkgPath | ||
let dependencies = nuspec.Dependencies.Value | ||
|> List.map (fun (n, v, _) -> n.Name, v.Range.ToString()) | ||
|
||
let expected = [("PaketTest2394.PackageA", ">= 2.0 < 3.0"); ("PaketTest2394.PackageB", ">= 2.0 < 3.0")] | ||
Assert.That(dependencies, Is.SupersetOf expected) | ||
|
||
[<Test>] | ||
let ``#2394 group with fixed property condition`` () = | ||
let scenario = "i002394-group-conditions" | ||
preparePackages (originalScenarioPath scenario) | ||
|
||
use __ = prepare scenario | ||
let root = scenarioTempPath scenario | ||
let projectDir = root @@ "TestProjects" | ||
|
||
directPaketInPath "install" projectDir |> ignore | ||
let output = directDotnet false "run --project FixedProperty.fsproj" projectDir |> Seq.map (_.Message) | ||
directDotnet false "pack FixedProperty.fsproj -o ." projectDir |> ignore | ||
|
||
output |> shouldIncludePackageA 3 | ||
output |> shouldIncludePackageB 3 | ||
output |> shouldIncludePackageBTransient 3 | ||
output |> shouldIncludeConstant 3 | ||
|
||
let nupkgPath = projectDir @@ "FixedProperty.1.0.0.nupkg" | ||
|
||
if File.Exists nupkgPath |> not then Assert.Fail $"Expected '%s{nupkgPath}' to exist" | ||
let nuspec = NuGetCache.getNuSpecFromNupkg nupkgPath | ||
let dependencies = nuspec.Dependencies.Value | ||
|> List.map (fun (n, v, _) -> n.Name, v.Range.ToString()) | ||
|
||
let expected = [("PaketTest2394.PackageA", ">= 3.0 < 4.0"); ("PaketTest2394.PackageB", ">= 3.0 < 4.0")] | ||
Assert.That(dependencies, Is.SupersetOf expected) | ||
|
||
[<Test>] | ||
let ``#2394 mix dependencies from multiple groups with conditions`` () = | ||
let scenario = "i002394-group-conditions" | ||
preparePackages (originalScenarioPath scenario) | ||
|
||
use __ = prepare scenario | ||
let root = scenarioTempPath scenario | ||
let projectDir = root @@ "TestProjects" | ||
|
||
directPaketInPath "install" projectDir |> ignore | ||
let output = directDotnet false "run --project MixedProperties.fsproj" projectDir |> Seq.map (_.Message) | ||
directDotnet false "pack MixedProperties.fsproj -o ." projectDir |> ignore | ||
|
||
output |> shouldIncludePackageA 4 | ||
output |> shouldIncludePackageB 5 | ||
output |> shouldIncludePackageBTransient 5 | ||
output |> shouldIncludeConstant 4 | ||
|
||
let expected = ["PackageA 4.0"; "PackageB 5.0 (references PackageB.Transient 5.0)"; "PackageB.Transient 5.0"; "Constant PACKAGEA_4 set"] | ||
let rejected = ["PackageA 1.0"; "PackageB.Transient 1.0"; "Constant PACKAGEA_1 set" | ||
"PackageA 2.0"; "PackageB.Transient 2.0"; "Constant PACKAGEA_2 set" | ||
"PackageA 3.0"; "PackageB.Transient 3.0"; "Constant PACKAGEA_3 set" | ||
"PackageA 5.0"; "PackageB.Transient 4.0"; "Constant PACKAGEA_5 set"] | ||
Assert.That(output, Is.SupersetOf expected) | ||
Assert.That(output, Is.Not.SubsetOf rejected) | ||
|
||
let nupkgPath = projectDir @@ "MixedProperties.1.0.0.nupkg" | ||
|
||
if File.Exists nupkgPath |> not then Assert.Fail $"Expected '%s{nupkgPath}' to exist" | ||
let nuspec = NuGetCache.getNuSpecFromNupkg nupkgPath | ||
let dependencies = nuspec.Dependencies.Value | ||
|> List.map (fun (n, v, _) -> n.Name, v.Range.ToString()) | ||
|
||
let expected = [("PaketTest2394.PackageA", ">= 4.0 < 5.0"); ("PaketTest2394.PackageB", ">= 5.0 < 6.0")] | ||
Assert.That(dependencies, Is.SupersetOf expected) | ||
|
||
[<Test>] | ||
let ``#2394 project with dynamic condition based on configuration 1`` () = | ||
let scenario = "i002394-group-conditions" | ||
preparePackages (originalScenarioPath scenario) | ||
|
||
use __ = prepare scenario | ||
let root = scenarioTempPath scenario | ||
let projectDir = root @@ "TestProjects" | ||
|
||
directPaketInPath "install" projectDir |> ignore | ||
let output = directDotnet false "run --project ConfigurationDependent.fsproj" projectDir |> Seq.map (_.Message) | ||
directDotnet false "pack ConfigurationDependent.fsproj -o ." projectDir |> ignore | ||
|
||
output |> shouldIncludePackageA 3 | ||
output |> shouldIncludePackageB 3 | ||
output |> shouldIncludePackageBTransient 3 | ||
output |> shouldIncludeConstant 3 | ||
|
||
let nupkgPath = projectDir @@ "ConfigurationDependent.1.0.0.nupkg" | ||
|
||
if File.Exists nupkgPath |> not then Assert.Fail $"Expected '%s{nupkgPath}' to exist" | ||
let nuspec = NuGetCache.getNuSpecFromNupkg nupkgPath | ||
let dependencies = nuspec.Dependencies.Value | ||
|> List.map (fun (n, v, _) -> n.Name, v.Range.ToString()) | ||
|
||
let expected = [("PaketTest2394.PackageA", ">= 3.0 < 4.0"); ("PaketTest2394.PackageB", ">= 3.0 < 4.0")] | ||
Assert.That(dependencies, Is.SupersetOf expected) | ||
|
||
[<Test>] | ||
let ``#2394 project with dynamic condition based on configuration 2`` () = | ||
let scenario = "i002394-group-conditions" | ||
preparePackages (originalScenarioPath scenario) | ||
|
||
use __ = prepare scenario | ||
let root = scenarioTempPath scenario | ||
let projectDir = root @@ "TestProjects" | ||
|
||
directPaketInPath "install" projectDir |> ignore | ||
let output = directDotnet false "run --project ConfigurationDependent.fsproj --configuration Alternate" projectDir |> Seq.map (_.Message) | ||
directDotnet false "pack ConfigurationDependent.fsproj --configuration Alternate -o ." projectDir |> ignore | ||
|
||
output |> shouldIncludePackageA 4 | ||
output |> shouldIncludePackageB 4 | ||
output |> shouldIncludePackageBTransient 4 | ||
output |> shouldIncludeConstant 4 | ||
|
||
let nupkgPath = projectDir @@ "ConfigurationDependent.1.0.0.nupkg" | ||
|
||
if File.Exists nupkgPath |> not then Assert.Fail $"Expected '%s{nupkgPath}' to exist" | ||
let nuspec = NuGetCache.getNuSpecFromNupkg nupkgPath | ||
let dependencies = nuspec.Dependencies.Value | ||
|> List.map (fun (n, v, _) -> n.Name, v.Range.ToString()) | ||
|
||
let expected = [("PaketTest2394.PackageA", ">= 4.0 < 5.0"); ("PaketTest2394.PackageB", ">= 4.0 < 5.0")] | ||
Assert.That(dependencies, Is.SupersetOf expected) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
integrationtests/scenarios/i002394-group-conditions/before/.gitignore
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
*.nupkg | ||
bin/ |
17 changes: 17 additions & 0 deletions
17
integrationtests/scenarios/i002394-group-conditions/before/Packages/Directory.Build.targets
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<Project> | ||
<!-- Based on https://github.com/NuGet/Home/issues/5525#issuecomment-1179525536 --> | ||
<Target Name="UseExplicitPackageVersions" BeforeTargets="GenerateNuspec"> | ||
<ItemGroup> | ||
<_ProjectReferenceWithExplicitPackageVersion Include="@(ProjectReference->'%(FullPath)')" Condition="'%(ProjectReference.PackageVersion)' != ''" /> | ||
<_ProjectReferenceWithExactPackageVersion Include="@(ProjectReference->'%(FullPath)')" /> | ||
<_ProjectReferenceWithReassignedVersion Include="@(_ProjectReferencesWithVersions)" Condition="'%(Identity)' != '' And '@(_ProjectReferenceWithExplicitPackageVersion)' == '@(_ProjectReferencesWithVersions)'"> | ||
<ProjectVersion>@(_ProjectReferenceWithExplicitPackageVersion->'%(PackageVersion)')</ProjectVersion> | ||
</_ProjectReferenceWithReassignedVersion> | ||
<_ProjectReferenceWithReassignedVersion Include="@(_ProjectReferencesWithVersions)" Condition="'%(Identity)' != '' And '@(_ProjectReferenceWithExactPackageVersion)' == '@(_ProjectReferencesWithVersions)'"> | ||
<ProjectVersion>[@(_ProjectReferencesWithVersions->'%(ProjectVersion)')]</ProjectVersion> | ||
</_ProjectReferenceWithReassignedVersion> | ||
<_ProjectReferencesWithVersions Remove="@(_ProjectReferenceWithReassignedVersion)" /> | ||
<_ProjectReferencesWithVersions Include="@(_ProjectReferenceWithReassignedVersion)" /> | ||
</ItemGroup> | ||
</Target> | ||
</Project> |
28 changes: 28 additions & 0 deletions
28
integrationtests/scenarios/i002394-group-conditions/before/Packages/Packages.sln
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
|
||
Microsoft Visual Studio Solution File, Format Version 12.00 | ||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PaketTest2394.PackageA", "PaketTest2394.PackageA\PaketTest2394.PackageA.csproj", "{A0449AB0-A1EA-4BE6-8D03-701BC5A2FD46}" | ||
EndProject | ||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PaketTest2394.PackageB", "PaketTest2394.PackageB\PaketTest2394.PackageB.csproj", "{59B3FFCE-AA5A-4AAA-B73D-108A6A15E524}" | ||
EndProject | ||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PaketTest2394.PackageB.Transient", "PaketTest2394.PackageB.Transient\PaketTest2394.PackageB.Transient.csproj", "{C763B8F6-18BF-4018-B852-CA8EE39C94F5}" | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug|Any CPU = Debug|Any CPU | ||
Release|Any CPU = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{A0449AB0-A1EA-4BE6-8D03-701BC5A2FD46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{A0449AB0-A1EA-4BE6-8D03-701BC5A2FD46}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{A0449AB0-A1EA-4BE6-8D03-701BC5A2FD46}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{A0449AB0-A1EA-4BE6-8D03-701BC5A2FD46}.Release|Any CPU.Build.0 = Release|Any CPU | ||
{59B3FFCE-AA5A-4AAA-B73D-108A6A15E524}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{59B3FFCE-AA5A-4AAA-B73D-108A6A15E524}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{59B3FFCE-AA5A-4AAA-B73D-108A6A15E524}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{59B3FFCE-AA5A-4AAA-B73D-108A6A15E524}.Release|Any CPU.Build.0 = Release|Any CPU | ||
{C763B8F6-18BF-4018-B852-CA8EE39C94F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{C763B8F6-18BF-4018-B852-CA8EE39C94F5}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{C763B8F6-18BF-4018-B852-CA8EE39C94F5}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{C763B8F6-18BF-4018-B852-CA8EE39C94F5}.Release|Any CPU.Build.0 = Release|Any CPU | ||
EndGlobalSection | ||
EndGlobal |
10 changes: 10 additions & 0 deletions
10
...ios/i002394-group-conditions/before/Packages/PaketTest2394.PackageA/PackageDescription.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
namespace PaketTest2394.PackageA; | ||
|
||
public static class PackageDescription | ||
{ | ||
public static string GetDescription() | ||
{ | ||
var assemblyName = typeof(PackageDescription).Assembly.GetName(); | ||
return $"PackageA {assemblyName.Version!.ToString(2)}"; | ||
} | ||
} |
17 changes: 17 additions & 0 deletions
17
...394-group-conditions/before/Packages/PaketTest2394.PackageA/PaketTest2394.PackageA.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>net6.0</TargetFramework> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<Nullable>enable</Nullable> | ||
</PropertyGroup> | ||
<ItemGroup> | ||
<None Include="build/PaketTest2394.PackageA.targets" Pack="true" PackagePath="build\PaketTest2394.PackageA.targets" /> | ||
</ItemGroup> | ||
<Target Name="UpdateTargetsFile" BeforeTargets="Build"> | ||
<PropertyGroup> | ||
<NewDefineConstants>%24(DefineConstants)%3BPACKAGEA_$(Version.Split('.')[0])</NewDefineConstants> | ||
</PropertyGroup> | ||
<XmlPoke XmlInputPath="build/PaketTest2394.PackageA.targets" Query="//DefineConstants" Value="$(NewDefineConstants)"/> | ||
</Target> | ||
</Project> |
5 changes: 5 additions & 0 deletions
5
...up-conditions/before/Packages/PaketTest2394.PackageA/build/PaketTest2394.PackageA.targets
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<Project> | ||
<PropertyGroup> | ||
<DefineConstants>$(DefineConstants);PACKAGEA_5</DefineConstants> | ||
</PropertyGroup> | ||
</Project> |
10 changes: 10 additions & 0 deletions
10
...4-group-conditions/before/Packages/PaketTest2394.PackageB.Transient/PackageDescription.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
namespace PaketTest2394.PackageB.Transient; | ||
|
||
public static class PackageDescription | ||
{ | ||
public static string GetDescription() | ||
{ | ||
var assemblyName = typeof(PackageDescription).Assembly.GetName(); | ||
return $"PackageB.Transient {assemblyName.Version!.ToString(2)}"; | ||
} | ||
} |
9 changes: 9 additions & 0 deletions
9
.../before/Packages/PaketTest2394.PackageB.Transient/PaketTest2394.PackageB.Transient.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>net6.0</TargetFramework> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<Nullable>enable</Nullable> | ||
</PropertyGroup> | ||
|
||
</Project> |
10 changes: 10 additions & 0 deletions
10
...ios/i002394-group-conditions/before/Packages/PaketTest2394.PackageB/PackageDescription.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
namespace PaketTest2394.PackageB; | ||
|
||
public static class PackageDescription | ||
{ | ||
public static string GetDescription() | ||
{ | ||
var assemblyName = typeof(PackageDescription).Assembly.GetName(); | ||
return $"PackageB {assemblyName.Version!.ToString(2)} (references {Transient.PackageDescription.GetDescription()})"; | ||
} | ||
} |
13 changes: 13 additions & 0 deletions
13
...394-group-conditions/before/Packages/PaketTest2394.PackageB/PaketTest2394.PackageB.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>net6.0</TargetFramework> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<Nullable>enable</Nullable> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\PaketTest2394.PackageB.Transient\PaketTest2394.PackageB.Transient.csproj" /> | ||
</ItemGroup> | ||
|
||
</Project> |
Oops, something went wrong.