@@ -99,15 +99,22 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
99
99
100
100
var existsNetCoreRefNugetPackage = false ;
101
101
var existsNetFrameworkRefNugetPackage = false ;
102
+ var existsNetstandardLibRefNugetPackage = false ;
103
+ var existsNetstandardLibNugetPackage = false ;
102
104
103
105
// Find DLLs in the .Net / Asp.Net Framework
104
106
// This block needs to come after the nuget restore, because the nuget restore might fetch the .NET Core/Framework reference assemblies.
105
107
if ( options . ScanNetFrameworkDlls )
106
108
{
107
109
existsNetCoreRefNugetPackage = IsNugetPackageAvailable ( "microsoft.netcore.app.ref" ) ;
108
110
existsNetFrameworkRefNugetPackage = IsNugetPackageAvailable ( "microsoft.netframework.referenceassemblies" ) ;
111
+ existsNetstandardLibRefNugetPackage = IsNugetPackageAvailable ( "netstandard.library.ref" ) ;
112
+ existsNetstandardLibNugetPackage = IsNugetPackageAvailable ( "netstandard.library" ) ;
109
113
110
- if ( existsNetCoreRefNugetPackage || existsNetFrameworkRefNugetPackage )
114
+ if ( existsNetCoreRefNugetPackage
115
+ || existsNetFrameworkRefNugetPackage
116
+ || existsNetstandardLibRefNugetPackage
117
+ || existsNetstandardLibNugetPackage )
111
118
{
112
119
progressMonitor . LogInfo ( "Found .NET Core/Framework DLLs in NuGet packages. Not adding installation directory." ) ;
113
120
}
@@ -125,7 +132,7 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
125
132
UseReference ( filename ) ;
126
133
}
127
134
128
- RemoveUnnecessaryNugetPackages ( existsNetCoreRefNugetPackage , existsNetFrameworkRefNugetPackage ) ;
135
+ RemoveUnnecessaryNugetPackages ( existsNetCoreRefNugetPackage , existsNetFrameworkRefNugetPackage , existsNetstandardLibRefNugetPackage , existsNetstandardLibNugetPackage ) ;
129
136
ResolveConflicts ( ) ;
130
137
131
138
// Output the findings
@@ -160,7 +167,8 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
160
167
DateTime . Now - startTime ) ;
161
168
}
162
169
163
- private void RemoveUnnecessaryNugetPackages ( bool existsNetCoreRefNugetPackage , bool existsNetFrameworkRefNugetPackage )
170
+ private void RemoveUnnecessaryNugetPackages ( bool existsNetCoreRefNugetPackage , bool existsNetFrameworkRefNugetPackage ,
171
+ bool existsNetstandardLibRefNugetPackage , bool existsNetstandardLibNugetPackage )
164
172
{
165
173
RemoveNugetAnalyzerReferences ( ) ;
166
174
RemoveRuntimeNugetPackageReferences ( ) ;
@@ -172,10 +180,30 @@ private void RemoveUnnecessaryNugetPackages(bool existsNetCoreRefNugetPackage, b
172
180
RemoveNugetPackageReference ( "microsoft.aspnetcore.app.ref" ) ;
173
181
}
174
182
175
- if ( existsNetCoreRefNugetPackage && existsNetFrameworkRefNugetPackage )
183
+ // Multiple packages are available, we keep only one:
184
+ if ( existsNetCoreRefNugetPackage )
176
185
{
177
- // Multiple packages are available, we keep only one:
178
- RemoveNugetPackageReference ( "microsoft.netframework.referenceassemblies." ) ;
186
+ if ( existsNetFrameworkRefNugetPackage )
187
+ RemoveNugetPackageReference ( "microsoft.netframework.referenceassemblies." ) ;
188
+
189
+ if ( existsNetstandardLibRefNugetPackage )
190
+ RemoveNugetPackageReference ( "netstandard.library.ref" ) ;
191
+
192
+ if ( existsNetstandardLibNugetPackage )
193
+ RemoveNugetPackageReference ( "netstandard.library" ) ;
194
+ }
195
+ else if ( existsNetFrameworkRefNugetPackage )
196
+ {
197
+ if ( existsNetstandardLibRefNugetPackage )
198
+ RemoveNugetPackageReference ( "netstandard.library.ref" ) ;
199
+
200
+ if ( existsNetstandardLibNugetPackage )
201
+ RemoveNugetPackageReference ( "netstandard.library" ) ;
202
+ }
203
+ else if ( existsNetstandardLibRefNugetPackage )
204
+ {
205
+ if ( existsNetstandardLibNugetPackage )
206
+ RemoveNugetPackageReference ( "netstandard.library" ) ;
179
207
}
180
208
181
209
// TODO: There could be multiple `microsoft.netframework.referenceassemblies` packages,
@@ -268,8 +296,7 @@ private void RemoveRuntimeNugetPackageReferences()
268
296
"runtime.win-x64.microsoft.netcore.app" ,
269
297
270
298
// Internal implementation packages not meant for direct consumption:
271
- "runtime." ,
272
- "netstandard.library.ref"
299
+ "runtime."
273
300
} ;
274
301
RemoveNugetPackageReference ( runtimePackagePrefixes ) ;
275
302
}
0 commit comments