@@ -31,15 +31,12 @@ protected override void ExecuteCore()
31
31
32
32
var packageReferencesToUpdate = new List < ITaskItem > ( ) ;
33
33
34
- var implicitReferencesForThisFramework = ImplicitPackageReferenceVersions
35
- . Select ( item => new ImplicitPackageReferenceVersion ( item ) )
36
- . Where ( item => item . TargetFrameworkVersion == this . TargetFrameworkVersion )
37
- . ToDictionary ( implicitVersion => implicitVersion . Name ) ;
34
+ var implicitVersionTable = GetApplicableImplicitVersionTable ( ) ;
38
35
39
36
foreach ( var packageReference in PackageReferences )
40
37
{
41
38
ImplicitPackageReferenceVersion implicitVersion ;
42
- if ( implicitReferencesForThisFramework . TryGetValue ( packageReference . ItemSpec , out implicitVersion ) )
39
+ if ( implicitVersionTable . TryGetValue ( packageReference . ItemSpec , out implicitVersion ) )
43
40
{
44
41
string versionOnPackageReference = packageReference . GetMetadata ( MetadataKeys . Version ) ;
45
42
if ( string . IsNullOrEmpty ( versionOnPackageReference ) )
@@ -63,6 +60,22 @@ protected override void ExecuteCore()
63
60
SdkBuildWarnings = buildWarnings . ToArray ( ) ;
64
61
}
65
62
63
+ private Dictionary < string , ImplicitPackageReferenceVersion > GetApplicableImplicitVersionTable ( )
64
+ {
65
+ var result = new Dictionary < string , ImplicitPackageReferenceVersion > ( ) ;
66
+ foreach ( var item in ImplicitPackageReferenceVersions )
67
+ {
68
+ var implicitPackageReferenceVersion = new ImplicitPackageReferenceVersion ( item ) ;
69
+
70
+ if ( implicitPackageReferenceVersion . TargetFrameworkVersion == this . TargetFrameworkVersion )
71
+ {
72
+ result . Add ( implicitPackageReferenceVersion . Name , implicitPackageReferenceVersion ) ;
73
+ }
74
+ }
75
+
76
+ return result ;
77
+ }
78
+
66
79
private sealed class ImplicitPackageReferenceVersion
67
80
{
68
81
private ITaskItem _item ;
0 commit comments