<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/can-net-core-framework-assemblies-be-mapped-back-to-individual-nuget-packages-a-detective-story-x62k9j9ej" -->

---
title: Can .NET Core Framework Assemblies be Mapped back to...
description: An investigation into why ReSharper and Rider's quick fix for automatically adding missing references sometimes references a framework assembly directly rather...
canonical: https://daily.dev/posts/can-net-core-framework-assemblies-be-mapped-back-to-individual-nuget-packages-a-detective-story-x62k9j9ej
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Can .NET Core Framework Assemblies be Mapped back to Individual NuGet Packages? A Detective Story | daily.dev
og:description: An investigation into why ReSharper and Rider's quick fix for automatically adding missing references sometimes references a framework assembly directly rather...
og:url: https://daily.dev/posts/can-net-core-framework-assemblies-be-mapped-back-to-individual-nuget-packages-a-detective-story-x62k9j9ej
og:image: https://api.daily.dev/og/posts/x62k9j9eJ.png
og:image:alt: Can .NET Core Framework Assemblies be Mapped back to Individual NuGet Packages? A Detective Story
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Can .NET Core Framework Assemblies be Mapped back to Individual NuGet Packages? A Detective Story

**[Maarten Balliauw](https://daily.dev/sources/maartenballiauw)** · 7 min read · 0 upvotes · 0 comments

## Summary

An investigation into why ReSharper and Rider's quick fix for automatically adding missing references sometimes references a framework assembly directly rather than the correct NuGet package. The author traces how .NET Core's SDK project system implicitly references framework assemblies (instead of NuGet packages) for performance reasons, discovers a PackageOverrides.txt file that lists which NuGet packages are superseded by framework assemblies, but finds no reliable mapping between individual assemblies and their originating NuGet packages. The piece concludes there's currently no clean fix, though leveraging Rider's package indexing combined with auto-downloading from PackageOverrides.txt is floated as a possible future workaround.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.maartenballiauw.be/posts/2020-04-01-can-net-core-framework-assemblies-be-mapped-back-to-individual-nuget-packages-a-detective-story>

## Questions this post answers

### Why does ReSharper or Rider's add-reference quick fix sometimes add an assembly reference with a HintPath instead of a NuGet package reference?

Because .NET Core SDKs like Microsoft.AspNetCore.App implicitly reference a set of framework assemblies directly from the installed SDK folder rather than as NuGet packages, for performance and disk-space reasons. When a type like IServiceCollection lives in one of these implicitly referenced assemblies, the IDE's quick fix picks the assembly reference, even though library authors expect to reference the equivalent Microsoft.Extensions.DependencyInjection.Abstractions NuGet package instead.

_Developers debugging confusing NuGet versus framework assembly references can track workarounds like this one on daily.dev._

### Is there a file that lists which NuGet packages are overridden by the .NET Core shared framework assemblies?

Yes, a PackageOverrides.txt file ships inside each framework/SDK pack folder, for example under Microsoft.AspNetCore.App.Ref\3.1.0\data\PackageOverrides.txt, listing package names and versions like Microsoft.Extensions.DependencyInjection.Abstractions|3.1.0 that are superseded by the framework. It only states which packages are overridden, not which assemblies or types live inside each package.

_Anyone untangling .NET Core framework reference internals can follow findings like this on daily.dev._

## Similar posts on daily.dev

- [ReSharper Made VS Code a Real Option for My .NET Work - Chris Woody Woodruff](https://daily.dev/posts/resharper-made-vs-code-a-real-option-for-my-net-work---chris-woody-woodruff-rsegbbpps) · We Are .NET · 6 upvotes · 0 comments
- [The Complete Package: Why Debugging Is Only Half the C\# Productivity Story](https://daily.dev/posts/the-complete-package-why-debugging-is-only-half-the-c-productivity-story-nmqnm6oob) · JetBrains .NET Blog · 7 upvotes · 0 comments
- [Open Source in Focus: .NET Projects and the Tools Behind Them](https://daily.dev/posts/open-source-in-focus-net-projects-and-the-tools-behind-them-z7dcmrihp) · JetBrains · 3 upvotes · 0 comments
- [Best Libraries for ASP.NET Core in 2026 \(Opinionated\)](https://daily.dev/posts/best-libraries-for-asp-net-core-in-2026-opinionated--h4hgrvzmn) · Code with Mukesh · 18 upvotes · 0 comments

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#.net](https://daily.dev/tags/.net), [#nuget](https://daily.dev/tags/nuget)

[View this post on daily.dev](https://daily.dev/posts/can-net-core-framework-assemblies-be-mapped-back-to-individual-nuget-packages-a-detective-story-x62k9j9ej)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Can .NET Core Framework Assemblies be Mapped back to Individual NuGet Packages? A Detective Story","url":"https://daily.dev/posts/can-net-core-framework-assemblies-be-mapped-back-to-individual-nuget-packages-a-detective-story-x62k9j9ej","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/can-net-core-framework-assemblies-be-mapped-back-to-individual-nuget-packages-a-detective-story-x62k9j9ej"},"datePublished":"2026-10-04T13:04:07.642Z","dateModified":"2026-10-04T13:04:39.273Z","description":"An investigation into why ReSharper and Rider's quick fix for automatically adding missing references sometimes references a framework assembly directly rather...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/72aa2197340da69bd16ec5730eb93a7e?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/72aa2197340da69bd16ec5730eb93a7e?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Maarten Balliauw","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Maarten Balliauw","logo":"https://media.daily.dev/image/upload/s--rOTg3VYO--/f_auto,q_auto/v1791119043/logos/maartenballiauw?_a=BAMAMicg0","url":"https://daily.dev/sources/maartenballiauw"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/can-net-core-framework-assemblies-be-mapped-back-to-individual-nuget-packages-a-detective-story-x62k9j9ej","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devtools,.net,nuget","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Maarten Balliauw","item":"https://daily.dev/sources/maartenballiauw"},{"@type":"ListItem","position":3,"name":"Can .NET Core Framework Assemblies be Mapped back to Individual NuGet Packages? A Detective Story"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/can-net-core-framework-assemblies-be-mapped-back-to-individual-nuget-packages-a-detective-story-x62k9j9ej#faq","mainEntity":[{"@type":"Question","name":"Why does ReSharper or Rider's add-reference quick fix sometimes add an assembly reference with a HintPath instead of a NuGet package reference?","acceptedAnswer":{"@type":"Answer","text":"Because .NET Core SDKs like Microsoft.AspNetCore.App implicitly reference a set of framework assemblies directly from the installed SDK folder rather than as NuGet packages, for performance and disk-space reasons. When a type like IServiceCollection lives in one of these implicitly referenced assemblies, the IDE's quick fix picks the assembly reference, even though library authors expect to reference the equivalent Microsoft.Extensions.DependencyInjection.Abstractions NuGet package instead. Developers debugging confusing NuGet versus framework assembly references can track workarounds like this one on daily.dev."}},{"@type":"Question","name":"Is there a file that lists which NuGet packages are overridden by the .NET Core shared framework assemblies?","acceptedAnswer":{"@type":"Answer","text":"Yes, a PackageOverrides.txt file ships inside each framework/SDK pack folder, for example under Microsoft.AspNetCore.App.Ref\\3.1.0\\data\\PackageOverrides.txt, listing package names and versions like Microsoft.Extensions.DependencyInjection.Abstractions|3.1.0 that are superseded by the framework. It only states which packages are overridden, not which assemblies or types live inside each package. Anyone untangling .NET Core framework reference internals can follow findings like this on daily.dev."}}]}
```

