in src/PortingAssistant.Client.Analysis/Utils/CodeEntityModelToCodeEntities.cs [228:253]
private static PackageVersionPair GetPackageVersionPair(Reference reference, ExternalReferences externalReferences)
{
var assemblyLength = reference?.Assembly?.Length;
if (assemblyLength == null || assemblyLength == 0)
{
return null;
}
// Check if code entity is from Nuget
var potentialNugetPackage = externalReferences?.NugetReferences?.Find((n) =>
n.AssemblyLocation?.EndsWith(reference.Assembly + ".dll") == true || n.Identity.Equals(reference.Assembly));
if (potentialNugetPackage == null)
{
potentialNugetPackage = externalReferences?.NugetDependencies?.Find((n) =>
n.AssemblyLocation?.EndsWith(reference.Assembly + ".dll") == true || n.Identity.Equals(reference.Assembly));
}
PackageVersionPair nugetPackage = ReferenceToPackageVersionPair(potentialNugetPackage);
// Check if code entity is from SDK
var potentialSdk = externalReferences?.SdkReferences?.Find((s) =>
s.AssemblyLocation?.EndsWith(reference.Assembly + ".dll") == true || s.Identity.Equals(reference.Assembly));
PackageVersionPair sdk = ReferenceToPackageVersionPair(potentialSdk, PackageSourceType.SDK);
return sdk ?? nugetPackage;
}