![]() |
VOOZH | about |
dotnet add package DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI --version 2026.0.2
NuGet\Install-Package DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI -Version 2026.0.2
<PackageReference Include="DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI" Version="2026.0.2" />
<PackageVersion Include="DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI" Version="2026.0.2" />Directory.Packages.props
<PackageReference Include="DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI" />Project file
paket add DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI --version 2026.0.2
#r "nuget: DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI, 2026.0.2"
#:package DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI@2026.0.2
#addin nuget:?package=DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI&version=2026.0.2Install as a Cake Addin
#tool nuget:?package=DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI&version=2026.0.2Install as a Cake Tool
Copyright © 2017 - 2026 Vampire Coder (formerly DotnetBrightener)
This is an extensions for ASP.Net Core applications that use the ProblemResult package. This package provides a UI for viewing information about a specific error / exception that can be thrown by the application.
Check out the ProblemResult package for more details on how to implement self-documented error objects.
You can install the package from NuGet:
dotnet add package DotNetBrightener.AspNet.Extensions.SelfDocumentedProblemResult.UI
Add the following code to the section <PropertyGroup> in your your .csproj file:
<GenerateDocumentationFile>true</GenerateDocumentationFile>
If you have multiple projects in your solution, you'll need to add the above code to all of the projects. Another way is to add that to the Directory.Build.props file in the root of your solution.
Add the following code to your Startup.cs (if you use Startup.cs) or Program.cs (by default) file:
app.MapErrorDocsTrackerUI(options =>
{
options.UiPath = "/errors-info-ui"; // this is where you can access the UI from your application
options.ApplicationName = "Test Error"; // this is the name of your application
});
When your application is configured to use UI package, the application will collect the error classes that are derived from IProblemResult. The error object when returned from the application, will now have type properties that leads to the information page of the error.
{
"type": "https://localhost:7290/errors-info-ui#/WebAppCommonShared.Demo.Controllers.UserNotFoundError",
"title": "User Not Found Error",
"status": 404,
"detail": "The error is thrown because the requested resource of type User could not be found",
"instance": "/api/ExceptionTest/exception2/123",
"data": {
"userId": 123
}
}
If developer / user opens the Url found in type property, they'll be able to see the information about the error. With the provided information, the developer can identify the issue and fix the issue easier. For the user, they can use this to seek support from developer.
Given the error object defined as below:
/// <summary>
/// The error represents the requested object of type `User` could not be found
/// </summary>
/// <remarks>
/// The error is thrown because the requested resource of type `User` could not be found
/// </remarks>
public class UserNotFoundError : BaseProblemDetailsError
{
public UserNotFoundError()
: base(HttpStatusCode.NotFound)
{
}
public UserNotFoundError(long userId)
: this()
{
Data.Add("userId", userId);
}
}
visiting the URL in type property will see an error page like following:
User Not Found Error
Description
The error represents the requested object of type
Usercould not be foundReason
The error is thrown because the requested resource of type
Usercould not be foundResponse HTTP Status Code
The request that encounters this error shall be responded with HTTP Status Code 404.
Additionally, refer to .
Response Body
Below is the sample response body of the request that encounters this error. Depends on the error, there can be additional properties that help you identify the issue.
{ "type": "https://localhost:7290/errors#WebAppCommonShared.Demo.Controllers.UserNotFoundError", "title": "User Not Found Error", "status": 404, "detail": "The error is thrown because the requested resource of type User could not be> >found", "instance": "{usually is URL of the request}" }
The Description of the page is pulled from XML Document <summary> tag, and the Reason is pulled from <remarks> tag. The Response HTTP Status Code is the status code that the error object is associated with. The Response Body is the sample response body that the error object will be returned.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.0.3-preview-777 | 103 | 5/20/2026 |
| 2026.0.3-preview-773 | 109 | 4/24/2026 |
| 2026.0.3-preview-772 | 139 | 4/3/2026 |
| 2026.0.3-preview-770 | 100 | 4/2/2026 |
| 2026.0.3-preview-769 | 98 | 4/2/2026 |
| 2026.0.2 | 108 | 4/2/2026 |
| 2026.0.2-preview-v2026-0-1-755 | 99 | 3/27/2026 |
| 2026.0.2-preview-759 | 109 | 4/1/2026 |
| 2026.0.2-preview-758 | 105 | 3/29/2026 |
| 2026.0.2-preview-757 | 104 | 3/29/2026 |
| 2026.0.2-preview-756 | 102 | 3/27/2026 |
| 2026.0.2-preview-754 | 95 | 3/27/2026 |
| 2026.0.1 | 103 | 3/27/2026 |
| 2026.0.1-preview-752 | 102 | 3/26/2026 |
| 2026.0.1-preview-750 | 98 | 3/26/2026 |
| 2026.0.1-preview-749 | 103 | 3/25/2026 |
| 2025.0.11-preview-776 | 88 | 5/20/2026 |
| 2025.0.11-preview-771 | 99 | 4/2/2026 |
| 2025.0.11-preview-768 | 101 | 4/2/2026 |
| 2025.0.11-preview-762 | 97 | 4/2/2026 |