Fix transitive framework references in sample projects#65560
Merged
BrennanConroy merged 2 commits intomainfrom Feb 28, 2026
Merged
Fix transitive framework references in sample projects#65560BrennanConroy merged 2 commits intomainfrom
BrennanConroy merged 2 commits intomainfrom
Conversation
wtgodbe
approved these changes
Feb 27, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Updates sample projects across the repo to explicitly reference shared-framework assemblies that were previously brought in transitively, helping avoid runtime FileNotFoundException issues after changes to shared framework reference propagation.
Changes:
- Adds explicit
<Reference Include="...">items for ASP.NET Core shared-framework dependencies across many samples. - Aligns server/hosting-related samples with required Kestrel/IIS/HttpSys transport and hosting assemblies.
- Expands sample reference lists to include common MVC/Razor/static assets/authn/authz pieces where needed.
Reviewed changes
Copilot reviewed 80 out of 80 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Tools/GetDocumentInsider/sample/GetDocumentSample.csproj | Adds explicit shared-framework references for the GetDocument tool sample. |
| src/SignalR/samples/SocialWeather/SocialWeather.csproj | Adds explicit hosting/http/kestrel/websockets/auth-related shared-framework references. |
| src/SignalR/samples/SignalRSamples/SignalRSamples.csproj | Adds explicit shared-framework references for SignalR sample runtime dependencies. |
| src/SignalR/samples/JwtSample/JwtSample.csproj | Adds explicit shared-framework references for JWT SignalR sample dependencies. |
| src/Servers/Kestrel/samples/http2cat/http2cat.csproj | Adds explicit hosting/http/kestrel transport references for http2cat sample. |
| src/Servers/Kestrel/samples/WebTransportSampleApp/WebTransportSampleApp.csproj | Adds explicit shared-framework references for WebTransport sample. |
| src/Servers/Kestrel/samples/WebTransportInteractiveSampleApp/WebTransportInteractiveSampleApp.csproj | Adds explicit shared-framework references for interactive WebTransport sample. |
| src/Servers/Kestrel/samples/SystemdTestApp/SystemdTestApp.csproj | Adds explicit hosting/http/kestrel transport references for systemd sample. |
| src/Servers/Kestrel/samples/SampleApp/Kestrel.SampleApp.csproj | Adds explicit hosting/http/kestrel transport references for Kestrel sample app. |
| src/Servers/Kestrel/samples/PlaintextApp/PlaintextApp.csproj | Adds explicit hosting/http/kestrel transport references for plaintext sample. |
| src/Servers/Kestrel/samples/LargeResponseApp/LargeResponseApp.csproj | Adds explicit hosting/http/kestrel transport references for large response sample. |
| src/Servers/Kestrel/samples/Http3SampleApp/Http3SampleApp.csproj | Adds explicit hosting/http/kestrel transport references for HTTP/3 sample. |
| src/Servers/Kestrel/samples/Http2SampleApp/Http2SampleApp.csproj | Adds explicit hosting/http/kestrel transport references for HTTP/2 sample. |
| src/Servers/IIS/IISIntegration/samples/IISSample/IISSample.csproj | Adds explicit shared-framework references needed for IIS integration sample. |
| src/Servers/IIS/IIS/samples/NativeIISSample/NativeIISSample.csproj | Adds explicit shared-framework references needed for native IIS sample. |
| src/Servers/HttpSys/samples/TlsFeaturesObserve/TlsFeaturesObserve.csproj | Adds explicit shared-framework references for HttpSys TLS features sample. |
| src/Servers/HttpSys/samples/SelfHostServer/SelfHostServer.csproj | Adds explicit hosting/http/auth shared-framework references for self-host sample. |
| src/Servers/HttpSys/samples/QueueSharing/QueueSharing.csproj | Adds explicit hosting/http/auth shared-framework references for queue sharing sample. |
| src/Servers/HttpSys/samples/HotAddSample/HotAddSample.csproj | Adds explicit hosting/http/auth shared-framework references for hot add sample. |
| src/Security/samples/StaticFilesAuth/StaticFilesAuth.csproj | Adds explicit MVC/Razor/auth/static assets/server references for sample. |
| src/Security/samples/PathSchemeSelection/PathSchemeSelection.csproj | Adds explicit MVC/Razor/auth/static assets/server references for sample. |
| src/Security/samples/Identity.ExternalClaims/Identity.ExternalClaims.csproj | Adds explicit MVC/Razor/auth/EF-related shared-framework references for sample. |
| src/Security/samples/DynamicSchemes/DynamicSchemes.csproj | Adds explicit MVC/Razor/auth/static assets/server references for sample. |
| src/Security/samples/CustomPolicyProvider/CustomPolicyProvider.csproj | Adds explicit MVC/Razor/auth/static assets/server references for sample. |
| src/Security/samples/CustomAuthorizationFailureResponse/CustomAuthorizationFailureResponse.csproj | Adds explicit MVC/Razor/auth/static assets/server references for sample. |
| src/Security/samples/Cookies/Cookies.csproj | Adds explicit MVC/Razor/auth/static assets/server references for sample. |
| src/Security/samples/ClaimsTransformation/ClaimsTransformation.csproj | Adds explicit MVC/Razor/auth/static assets/server references for sample. |
| src/Security/CookiePolicy/samples/CookiePolicySample/CookiePolicySample.csproj | Adds explicit shared-framework references for cookie policy sample runtime dependencies. |
| src/Security/Authentication/samples/SocialSample/SocialSample.csproj | Adds explicit shared-framework references for social auth sample runtime dependencies. |
| src/Security/Authentication/WsFederation/samples/WsFedSample/WsFedSample.csproj | Adds explicit shared-framework references for WS-Fed sample runtime dependencies. |
| src/Security/Authentication/OpenIdConnect/samples/OpenIdConnectSample/OpenIdConnectSample.csproj | Adds explicit shared-framework references for OIDC sample runtime dependencies. |
| src/Security/Authentication/OpenIdConnect/samples/MinimalOpenIdConnectSample/MinimalOpenIdConnectSample.csproj | Adds explicit shared-framework references for minimal OIDC sample dependencies. |
| src/Security/Authentication/Negotiate/samples/NegotiateAuthSample/NegotiateAuthSample.csproj | Adds explicit shared-framework references for Negotiate auth sample dependencies. |
| src/Security/Authentication/JwtBearer/samples/MinimalJwtBearerSample/MinimalJwtBearerSample.csproj | Adds explicit shared-framework references for minimal JWT bearer sample. |
| src/Security/Authentication/JwtBearer/samples/JwtBearerSample/JwtBearerSample.csproj | Adds explicit shared-framework references for JWT bearer sample. |
| src/Security/Authentication/Cookies/samples/CookieSessionSample/CookieSessionSample.csproj | Adds explicit shared-framework references for cookie session sample. |
| src/Security/Authentication/Cookies/samples/CookieSample/CookieSample.csproj | Adds explicit shared-framework references for cookie auth sample. |
| src/Security/Authentication/Certificate/samples/Certificate.Sample/Certificate.Sample.csproj | Adds explicit shared-framework references for certificate auth sample. |
| src/Security/Authentication/Certificate/samples/Certificate.Optional.Sample/Certificate.Optional.Sample.csproj | Adds explicit shared-framework references for optional certificate auth sample. |
| src/OpenApi/sample/Sample.csproj | Adds explicit shared-framework references required by OpenAPI sample. |
| src/Mvc/samples/MvcSandbox/MvcSandbox.csproj | Adds explicit MVC/Razor/shared-framework references for MVC sandbox sample. |
| src/Mvc/samples/MvcFormSample/MvcFormSample.csproj | Adds explicit shared-framework references for MVC form sample runtime dependencies. |
| src/Middleware/WebSockets/samples/EchoApp/EchoApp.csproj | Adds explicit shared-framework references for WebSockets echo sample. |
| src/Middleware/StaticFiles/samples/StaticFileSample/StaticFileSample.csproj | Adds explicit shared-framework references for static files sample. |
| src/Middleware/Session/samples/SessionSample.csproj | Adds explicit shared-framework references for session sample. |
| src/Middleware/Rewrite/sample/RewriteSample.csproj | Adds explicit shared-framework references for rewrite sample. |
| src/Middleware/ResponseCompression/sample/ResponseCompressionSample.csproj | Adds explicit shared-framework references for response compression sample. |
| src/Middleware/ResponseCaching/samples/ResponseCachingSample/ResponseCachingSample.csproj | Adds explicit shared-framework references for response caching sample. |
| src/Middleware/RequestDecompression/sample/RequestDecompressionSample.csproj | Adds explicit shared-framework references for request decompression sample. |
| src/Middleware/RateLimiting/samples/RateLimitingSample/RateLimitingSample.csproj | Adds explicit shared-framework references for rate limiting sample. |
| src/Middleware/OutputCaching/samples/OutputCachingSample/OutputCachingSample.csproj | Adds explicit shared-framework references for output caching sample. |
| src/Middleware/MiddlewareAnalysis/samples/MiddlewareAnalysisSample/MiddlewareAnalysisSample.csproj | Adds explicit shared-framework references for middleware analysis sample. |
| src/Middleware/Localization/sample/LocalizationSample.csproj | Adds explicit shared-framework references for localization sample. |
| src/Middleware/HttpsPolicy/sample/HttpsPolicySample.csproj | Adds explicit shared-framework references for HTTPS policy sample. |
| src/Middleware/HttpOverrides/sample/HttpOverridesSample.csproj | Adds explicit shared-framework references for HTTP overrides sample. |
| src/Middleware/HttpLogging/samples/Logging.W3C.Sample/Logging.W3C.Sample.csproj | Adds explicit shared-framework references for W3C logging sample. |
| src/Middleware/HttpLogging/samples/HttpLogging.Sample/HttpLogging.Sample.csproj | Adds explicit shared-framework references for HTTP logging sample. |
| src/Middleware/HostFiltering/sample/HostFilteringSample.csproj | Adds explicit shared-framework references for host filtering sample. |
| src/Middleware/HeaderPropagation/samples/HeaderPropagationSample/HeaderPropagationSample.csproj | Adds explicit shared-framework references for header propagation sample. |
| src/Identity/samples/IdentitySample.PasskeyUI/IdentitySample.PasskeyUI.csproj | Adds explicit shared-framework references for passkey UI sample runtime dependencies. |
| src/Identity/samples/IdentitySample.PasskeyConformance/IdentitySample.PasskeyConformance.csproj | Adds explicit shared-framework references for passkey conformance sample. |
| src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj | Adds explicit shared-framework references for Identity MVC sample. |
| src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj | Adds explicit shared-framework references for Identity Default UI sample. |
| src/Identity/samples/IdentitySample.ApiEndpoints/IdentitySample.ApiEndpoints.csproj | Adds explicit shared-framework references for Identity API endpoints sample. |
| src/Http/samples/MinimalValidationSample/MinimalValidationSample.csproj | Adds explicit shared-framework references for minimal validation sample. |
| src/Http/samples/MinimalSampleOwin/MinimalSampleOwin.csproj | Adds explicit shared-framework references for OWIN minimal sample. |
| src/Http/samples/MinimalSample/MinimalSample.csproj | Adds explicit shared-framework references for HTTP minimal sample. |
| src/Hosting/samples/SampleStartups/SampleStartups.csproj | Adds explicit hosting/http/kestrel transport references for startup samples. |
| src/Hosting/samples/GenericWebHost/GenericWebHost.csproj | Adds explicit hosting/http/kestrel transport references for generic host sample. |
| src/Framework/AspNetCoreAnalyzers/samples/WebAppSample/WebAppSample.csproj | Adds explicit shared-framework references for analyzers web app sample. |
| src/DefaultBuilder/samples/SampleApp/DefaultBuilder.SampleApp.csproj | Adds explicit shared-framework references for default builder sample. |
| src/DataProtection/samples/KeyManagementSimulator/KeyManagementSimulator.csproj | Adds explicit HTTP-related shared-framework references for DP key mgmt simulator. |
| src/DataProtection/samples/KeyManagementSample/KeyManagementSample.csproj | Adds explicit HTTP-related shared-framework references for DP key mgmt sample. |
| src/DataProtection/samples/EntityFrameworkCoreSample/EntityFrameworkCoreSample.csproj | Adds explicit HTTP-related shared-framework references for DP EF Core sample. |
| src/DataProtection/samples/CustomEncryptorSample/CustomEncryptorSample.csproj | Adds explicit HTTP-related shared-framework references for DP custom encryptor sample. |
| src/Components/WebAssembly/Samples/HostedBlazorWebassemblyApp/Server/HostedBlazorWebassemblyApp.Server.csproj | Adds explicit shared-framework references for hosted WASM server project. |
| src/Components/Samples/BlazorUnitedApp/BlazorUnitedApp.csproj | Adds missing shared-framework references for BlazorUnitedApp runtime dependencies. |
| src/Azure/samples/AzureAppServicesSample/AzureAppServicesSample.csproj | Adds explicit shared-framework references for Azure App Services integration sample. |
| src/Azure/samples/AzureAppServicesHostingStartupSample/AzureAppServicesHostingStartupSample.csproj | Adds explicit shared-framework references for Azure hosting startup sample. |
| src/Antiforgery/samples/MinimalFormSample/MinimalFormSample.csproj | Adds explicit shared-framework references for minimal antiforgery form sample. |
Comments suppressed due to low confidence (2)
src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj:78
- This PR removes the existing
Microsoft.EntityFrameworkCore.Toolsreference (it previously appeared to be aPrivateAssets="All"tooling-only dependency). Since the PR’s stated scope is adding missing shared-framework transitive references, consider restoring the EF tooling reference (or confirm it’s intentionally being dropped) to avoid an unrelated behavior change for this sample.
<Reference Include="Microsoft.EntityFrameworkCore.SqlServer" />
<Reference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
<Reference Include="Microsoft.Extensions.Configuration.UserSecrets" />
<Reference Include="Microsoft.Extensions.Hosting" />
<Reference Include="Microsoft.Extensions.Logging.Console" />
src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj:72
Program.csin this sample usesnew HostBuilder()(fromMicrosoft.Extensions.Hosting), but the project file doesn’t include a directMicrosoft.Extensions.Hostingreference. Since this PR is explicitly enumerating transitive shared-framework dependencies, consider addingMicrosoft.Extensions.Hostinghere so the sample doesn’t rely on that dependency flowing transitively.
<Reference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
<Reference Include="Microsoft.Extensions.Configuration.UserSecrets" />
<Reference Include="Microsoft.Extensions.Logging.Console" />
<Reference Include="Microsoft.Extensions.Logging.Debug" />
</ItemGroup>
src/Security/samples/Identity.ExternalClaims/Identity.ExternalClaims.csproj
Show resolved
Hide resolved
halter73
approved these changes
Feb 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Using #65292 to help copilot get started, I had it figure out all of the transitive framework references from projects and update the sample apps with those references.
Copilot prompt:
Copilot then generated and used the following scripts to find and apply the necessary fixes
apply_fixes.py
analyze_deps.py
I also had it run a few samples randomly to make sure there weren't any startup missing reference exceptions as a smoke test. I also chose 4 or 5 samples to run myself to verify they can serve an http response.