Skip to content

Upgrade to Imp 0.2

Mike Christensen edited this page Aug 28, 2026 · 1 revision

Upgrade to Imp 0.2

Imp 0.2 modernizes the framework's platform support and dependency model. Page routing, templates, postbacks, configuration, and UseImp behavior remain unchanged.

Supported frameworks

Imp 0.2 targets .NET 8 and .NET 10. Applications must target one of those frameworks or a compatible newer .NET release. ASP.NET Core 2.x and .NET Standard 2.0 consumers should remain on Imp 0.1 until the application itself can be upgraded.

For an ASP.NET Core Web project, update the target and package reference:

<PropertyGroup>
  <TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
  <PackageReference Include="KitchenPC.Imp" Version="0.2.0" />
</ItemGroup>

No additional ASP.NET Core package references are required. Projects using Microsoft.NET.Sdk.Web receive the Microsoft.AspNetCore.App shared-framework reference automatically.

Logging change

Imp now uses Microsoft.Extensions.Logging instead of log4net. Remove log4net configuration that existed only for Imp and configure the Imp.ImpMiddleware category through the normal ASP.NET Core logging settings.

This change does not require page-code changes. Applications that use log4net for their own logging can continue to reference and configure it independently.

Removed transitive packages

Imp no longer brings Kestrel, IIS integration, OWIN, or ASP.NET Core 2.2 assemblies into an application as NuGet dependencies. These server components belong to the host's ASP.NET Core shared framework.

If application code was relying on one of those packages only because Imp supplied it transitively, add the appropriate modern reference directly to the application. Depending on another library's transitive implementation dependency is not recommended.

Verification checklist

After updating:

  1. Restore and build the application with a supported SDK.
  2. Confirm UseImp remains after exception handling, static files, authentication, and other middleware that must run first.
  3. Exercise direct pages, embedded templates, query binding, postbacks, secure pages, and custom not-found routes.
  4. Review Imp.ImpMiddleware logging levels for production.
  5. Run dotnet list package --vulnerable --include-transitive and confirm the legacy ASP.NET Core 2.2 dependency graph is gone.

Clone this wiki locally