diff --git a/lib/modules/manager/nuget/extract.spec.ts b/lib/modules/manager/nuget/extract.spec.ts
index ba8b9b84e7af84bb7b899d07c5d5a1732d5bc5d0..5156a9fbd406b11c2974d3efce7f19f03a141fc8 100644
--- a/lib/modules/manager/nuget/extract.spec.ts
+++ b/lib/modules/manager/nuget/extract.spec.ts
@@ -22,10 +22,10 @@ describe('modules/manager/nuget/extract', () => {
       GlobalConfig.reset();
     });
 
-    it('returns empty for invalid csproj', async () => {
-      expect(await extractPackageFile('nothing here', 'bogus', config)).toEqual(
-        { deps: [] }
-      );
+    it('returns null for invalid csproj', async () => {
+      expect(
+        await extractPackageFile('nothing here', 'bogus', config)
+      ).toBeNull();
     });
 
     it('extracts package version dependency', async () => {
@@ -347,6 +347,12 @@ describe('modules/manager/nuget/extract', () => {
         ).toBeNull();
       });
 
+      it('returns null for no deps', async () => {
+        expect(
+          await extractPackageFile('{"version": 1}', packageFile, config)
+        ).toBeNull();
+      });
+
       it('does not throw', async () => {
         expect(await extractPackageFile('{{', packageFile, config)).toBeNull();
       });
diff --git a/lib/modules/manager/nuget/extract.ts b/lib/modules/manager/nuget/extract.ts
index 5fafd4c6598f576fb4346a4a50ac29f7e41ed187..2e329f9f38740642f5ccb9e4c5619576544852b6 100644
--- a/lib/modules/manager/nuget/extract.ts
+++ b/lib/modules/manager/nuget/extract.ts
@@ -74,7 +74,7 @@ function extractDepsFromXml(xmlNode: XmlDocument): PackageDependency[] {
 export async function extractPackageFile(
   content: string,
   packageFile: string,
-  config: ExtractConfig
+  _config: ExtractConfig
 ): Promise<PackageFileContent | null> {
   logger.trace({ packageFile }, 'nuget.extractPackageFile()');
 
@@ -99,7 +99,7 @@ export async function extractPackageFile(
       return null;
     }
 
-    for (const depName of Object.keys(manifest.tools)) {
+    for (const depName of Object.keys(manifest.tools ?? {})) {
       const tool = manifest.tools[depName];
       const currentValue = tool.version;
       const dep: PackageDependency = {
@@ -115,7 +115,7 @@ export async function extractPackageFile(
       deps.push(dep);
     }
 
-    return { deps };
+    return deps.length ? { deps } : null;
   }
 
   if (packageFile.endsWith('global.json')) {
@@ -134,6 +134,11 @@ export async function extractPackageFile(
   } catch (err) {
     logger.debug({ err }, `Failed to parse ${packageFile}`);
   }
+
+  if (!deps.length) {
+    return null;
+  }
+
   const res: PackageFileContent = { deps, packageFileVersion };
   const lockFileName = getSiblingFileName(packageFile, 'packages.lock.json');
   // istanbul ignore if