Skip to content

Fix transitive framework references in sample projects#65560

Merged
BrennanConroy merged 2 commits intomainfrom
brecon/transitive
Feb 28, 2026
Merged

Fix transitive framework references in sample projects#65560
BrennanConroy merged 2 commits intomainfrom
brecon/transitive

Conversation

@BrennanConroy
Copy link
Member

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:

We have a problem where all samples in the repo need to be updated to pull in transitive dependencies. An example is #65292. We might need to generate a list of what dependencies each project has and then check each sample to see what transitive dependencies to pull in based on the list we generated

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.

@BrennanConroy BrennanConroy added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Feb 27, 2026
Copilot AI review requested due to automatic review settings February 27, 2026 23:11
@BrennanConroy BrennanConroy requested review from a team, JamesNK and halter73 as code owners February 27, 2026 23:11
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.Tools reference (it previously appeared to be a PrivateAssets="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.cs in this sample uses new HostBuilder() (from Microsoft.Extensions.Hosting), but the project file doesn’t include a direct Microsoft.Extensions.Hosting reference. Since this PR is explicitly enumerating transitive shared-framework dependencies, consider adding Microsoft.Extensions.Hosting here 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>

@BrennanConroy BrennanConroy merged commit 83c5b49 into main Feb 28, 2026
25 checks passed
@BrennanConroy BrennanConroy deleted the brecon/transitive branch February 28, 2026 02:04
@dotnet-policy-service dotnet-policy-service bot added this to the 11.0-preview3 milestone Feb 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants