@@ -9,7 +9,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
99{
1010
1111 /// <summary>
12- /// Lazily reads XML files once to detect dependency and project settings without evaluating MSBuild.
12+ /// Lazily reads XML files to detect dependency and project settings without evaluating MSBuild.
1313 /// </summary>
1414 internal class FileContent
1515 {
@@ -239,38 +239,38 @@ private void Parse(string file)
239239 {
240240 ProcessFile ( file , reader =>
241241 {
242- switch ( reader . LocalName )
242+ switch ( reader . LocalName . ToLowerInvariant ( ) )
243243 {
244- case "PackageReference " :
244+ case "packagereference " :
245245 AddPackageReference ( reader . GetAttribute ( "Include" ) , PackageReferenceSource . SdkCsProj ) ;
246246 break ;
247- case "Project " :
247+ case "project " :
248248 var sdk = reader . GetAttribute ( "Sdk" ) ;
249249 isSdkProjectStructureUsed |= sdk != null ;
250250 useAspNetCoreDlls |= string . Equals ( sdk , "Microsoft.NET.Sdk.Web" , StringComparison . OrdinalIgnoreCase ) ;
251251 break ;
252- case "FrameworkReference " :
252+ case "frameworkreference " :
253253 var framework = reader . GetAttribute ( "Include" ) ;
254254 isSdkProjectStructureUsed |= framework != null ;
255255 useAspNetCoreDlls |= string . Equals ( framework , "Microsoft.AspNetCore.App" , StringComparison . OrdinalIgnoreCase ) ;
256256 break ;
257- case "ImplicitUsings " :
257+ case "implicitusings " :
258258 useImplicitUsings = useImplicitUsings || ElementContentEquals ( reader , "enable" , "true" ) ;
259259 break ;
260- case "UseWPF " :
260+ case "usewpf " :
261261 useWpf = useWpf || ElementContentEquals ( reader , "true" ) ;
262262 break ;
263- case "UseWindowsForms " :
263+ case "usewindowsforms " :
264264 useWindowsForms = useWindowsForms || ElementContentEquals ( reader , "true" ) ;
265265 break ;
266- case "Using " :
266+ case "using " :
267267 var ns = reader . GetAttribute ( "Include" ) ;
268268 if ( ! string . IsNullOrEmpty ( ns ) )
269269 {
270270 implicitUsingNamespaces . Add ( ns ) ;
271271 }
272272 break ;
273- case "Import " :
273+ case "import " :
274274 isLegacyProjectStructureUsed = isLegacyProjectStructureUsed || reader . GetAttribute ( "Project" ) ? . EndsWith ( "Microsoft.CSharp.targets" , StringComparison . OrdinalIgnoreCase ) == true ;
275275 break ;
276276 }
0 commit comments