Skip to content

Commit c0b1d02

Browse files
fix: windows targeting in v3 (#246)
1 parent 02b88a4 commit c0b1d02

File tree

7 files changed

+1875
-4
lines changed

7 files changed

+1875
-4
lines changed

lib/nuget-parser/parsers/dotnet-core-v3-parser.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,26 +119,31 @@ function buildDepGraph(
119119
);
120120
}
121121

122-
const allPackagesForFramework = projectAssets.targets[targetFramework];
122+
const assetsTargetFramework =
123+
Object.keys(projectAssets.targets).find((key) =>
124+
key.includes(targetFramework),
125+
) || targetFramework;
126+
127+
const allPackagesForFramework = projectAssets.targets[assetsTargetFramework];
123128

124129
if (!allPackagesForFramework) {
125130
// This should ideally not happen if validateManifest and parse are called first
126131
throw new InvalidManifestError(
127-
`Target framework '${targetFramework}' not found in project.assets.json dependencies.`,
132+
`Target framework '${assetsTargetFramework}' not found in project.assets.json dependencies.`,
128133
);
129134
}
130135

131136
// Identify direct dependencies for the selected framework
132137
const directDependencies: Record<string, string> = {};
133-
projectAssets.projectFileDependencyGroups[targetFramework].forEach(
138+
projectAssets.projectFileDependencyGroups[assetsTargetFramework].forEach(
134139
(dependency: string) => {
135140
const dependencySplit = dependency.split(' ');
136141
directDependencies[dependencySplit[0]] = dependencySplit[2];
137142
},
138143
);
139144

140145
debug(
141-
`Direct dependencies found in lock file for ${targetFramework}: '${Object.keys(directDependencies)}'`,
146+
`Direct dependencies found in lock file for ${assetsTargetFramework}: '${Object.keys(directDependencies)}'`,
142147
);
143148

144149
if (Object.keys(directDependencies).length === 0) {
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using System;
2+
class TestFixture
3+
{
4+
static public void Main(String[] args)
5+
{
6+
var client = new System.Net.Http.HttpClient();
7+
Console.WriteLine("Hello, World!");
8+
}
9+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<OutputType>WinExe</OutputType>
4+
<TargetFramework>net8.0-windows</TargetFramework>
5+
</PropertyGroup>
6+
7+
<ItemGroup>
8+
<PackageReference Include="Aspire.RabbitMQ.Client" Version="8.2.2" />
9+
</ItemGroup>
10+
</Project>

0 commit comments

Comments
 (0)