Fix using NuGet package with different dependencies

#4182
This commit is contained in:
2026-09-15 06:47:11 +02:00
parent 411c94efcc
commit d7f52ee832
2 changed files with 25 additions and 1 deletions
+5 -1
View File
@@ -520,7 +520,7 @@ namespace Flax.Build
{
var doc = System.Xml.Linq.XDocument.Load(nuspecFile);
var root = (System.Xml.Linq.XElement)doc.FirstNode;
var metadataNode = root.Descendants().First(x => x.Name.LocalName== "metadata");
var metadataNode = root.Descendants().First(x => x.Name.LocalName == "metadata");
var dependenciesNode = metadataNode.Descendants().First(x => x.Name.LocalName == "dependencies");
var groupNode = dependenciesNode.Descendants().FirstOrDefault(x => x.Attribute("targetFramework")?.Value == package.Framework);
if (groupNode == null)
@@ -539,6 +539,10 @@ namespace Flax.Build
DeployNuGetPackage(nugetPath, targetBuildOptions, nugetFiles, new NugetPackage { Name = dependencyId, Version = dependencyVersion, Framework = package.Framework } );
}
}
else
{
Log.Verbose($"Missing nuspec file '{nuspecFile}' for NuGet package '{package}'");
}
}
}
}
@@ -130,6 +130,21 @@ namespace Flax.Build.NativeCpp
}
}
// Fallback to netcore or netstandard if original directory
var fallbacks = new[]
{
"netcoreapp3.1",
"netcoreapp3.0",
"netstandard2.1",
"netstandard2.0",
};
foreach (var fallback in fallbacks)
{
libFolder = Path.Combine(nugetPath, Name, Version, "lib", fallback);
if (Directory.Exists(libFolder))
return libFolder;
}
Log.Error($"Missing NuGet package \"{Name}, {Version}, {Framework}\" (nuget: {nugetPath})");
return string.Empty;
}
@@ -157,6 +172,11 @@ namespace Flax.Build.NativeCpp
}
return dlls[0];
}
public override string ToString()
{
return $"{Name}, {Version}, {Framework}";
}
}
/// <summary>