Skip to content

Commit 678bdff

Browse files
authored
fix: catch PackagesConfigReaderException in NuGetPackagesConfigDetector (#362)
1 parent 5bc355e commit 678bdff

File tree

2 files changed

+18
-11
lines changed

2 files changed

+18
-11
lines changed

src/Microsoft.ComponentDetection.Detectors/nuget/NuGetPackagesConfigDetector.cs

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,23 @@ public class NuGetPackagesConfigDetector : FileComponentDetector
2626
protected override Task OnFileFound(ProcessRequest processRequest, IDictionary<string, string> detectorArgs)
2727
{
2828
var packagesConfig = new PackagesConfigReader(processRequest.ComponentStream.Stream);
29-
foreach (var package in packagesConfig.GetPackages(allowDuplicatePackageIds: true))
29+
try
3030
{
31-
processRequest.SingleFileComponentRecorder.RegisterUsage(
32-
new DetectedComponent(
33-
new NuGetComponent(
34-
package.PackageIdentity.Id,
35-
package.PackageIdentity.Version.ToNormalizedString())),
36-
true,
37-
null,
38-
package.IsDevelopmentDependency);
31+
foreach (var package in packagesConfig.GetPackages(allowDuplicatePackageIds: true))
32+
{
33+
processRequest.SingleFileComponentRecorder.RegisterUsage(
34+
new DetectedComponent(
35+
new NuGetComponent(
36+
package.PackageIdentity.Id,
37+
package.PackageIdentity.Version.ToNormalizedString())),
38+
true,
39+
null,
40+
package.IsDevelopmentDependency);
41+
}
42+
}
43+
catch (PackagesConfigReaderException e)
44+
{
45+
this.Logger.LogFailedReadingFile(processRequest.ComponentStream.Location, e);
3946
}
4047

4148
return Task.CompletedTask;

test/Microsoft.ComponentDetection.VerificationTests/resources/nuget/packages-config/packages.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
<!-- https://github.com/dotnet/Kerberos.NET/blob/559bec87d6eb1fb8698418c3aacafbbc7c32bdec/Samples/KerberosWebSample/packages.config -->
2-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- https://github.com/dotnet/Kerberos.NET/blob/559bec87d6eb1fb8698418c3aacafbbc7c32bdec/Samples/KerberosWebSample/packages.config -->
33
<packages>
44
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net452" />
55
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" />

0 commit comments

Comments
 (0)