Deleted obsolete razor views and models
This commit is contained in:
parent
775847a1fa
commit
e450dd707e
|
|
@ -1,367 +0,0 @@
|
||||||
namespace Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Views
|
|
||||||
{
|
|
||||||
#line 1 "DatabaseErrorPage.cshtml"
|
|
||||||
using System
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
;
|
|
||||||
#line 2 "DatabaseErrorPage.cshtml"
|
|
||||||
using System.Linq
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
;
|
|
||||||
#line 3 "DatabaseErrorPage.cshtml"
|
|
||||||
using Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
;
|
|
||||||
#line 4 "DatabaseErrorPage.cshtml"
|
|
||||||
using Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Views
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
[Obsolete("This type is for internal use only and will be removed in a future version.")]
|
|
||||||
public class DatabaseErrorPage : Microsoft.AspNetCore.DiagnosticsViewPage.Views.BaseView
|
|
||||||
{
|
|
||||||
#line 11 "DatabaseErrorPage.cshtml"
|
|
||||||
|
|
||||||
public DatabaseErrorPageModel Model { get; set; }
|
|
||||||
|
|
||||||
public string UrlEncode(string content)
|
|
||||||
{
|
|
||||||
return UrlEncoder.Encode(content);
|
|
||||||
}
|
|
||||||
|
|
||||||
public string JavaScriptEncode(string content)
|
|
||||||
{
|
|
||||||
return JavaScriptEncoder.Encode(content);
|
|
||||||
}
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
#line hidden
|
|
||||||
public DatabaseErrorPage()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma warning disable 1998
|
|
||||||
public override async Task ExecuteAsync()
|
|
||||||
{
|
|
||||||
#line 5 "DatabaseErrorPage.cshtml"
|
|
||||||
|
|
||||||
Response.StatusCode = 500;
|
|
||||||
Response.ContentType = "text/html";
|
|
||||||
Response.ContentLength = null; // Clear any prior Content-Length
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
WriteLiteral("<!DOCTYPE html>\r\n\r\n<html lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n <meta charset=\"utf-8\" />\r\n <title>Internal Server Error</title>\r\n <style>\r\n body {\r\n font-family: 'Segoe UI', Tahoma, Arial, Helvetica, sans-serif;\r\n font-size: .813em;\r\n line-height: 1.4em;\r\n color: #222;\r\n}\r\n\r\nh1, h2, h3, h4, h5 {\r\n font-weight: 100;\r\n}\r\n\r\nh1 {\r\n color: #44525e;\r\n margin: 15px 0 15px 0;\r\n}\r\n\r\nh2 {\r\n margin: 10px 5px 0 0;\r\n}\r\n\r\nh3 {\r\n color: #363636;\r\n margin: 5px 5px 0 0;\r\n}\r\n\r\ncode {\r\n font-family: Consolas, \"Courier New\", courier, monospace;\r\n}\r\n\r\na {\r\n color: #1ba1e2;\r\n text-decoration: none;\r\n}\r\n\r\n a:hover {\r\n color: #13709e;\r\n text-decoration: underline;\r\n }\r\n\r\nhr {\r\n border: 1px #ddd solid;\r\n}\r\n\r\nbody .titleerror {\r\n padding: 3px;\r\n}\r\n\r\n#applyMigrations {\r\n font-size: 14px;\r\n background: #44c5f2;\r\n color: #ffffff;\r\n display: inline-block;\r\n padding: 6px 12px;\r\n margin-bottom: 0;\r\n font-weight: normal;\r\n text-align: center;\r\n white-space: nowrap;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n border: 1px solid transparent;\r\n}\r\n\r\n #applyMigrations:disabled {\r\n background-color: #a9e4f9;\r\n border-color: #44c5f2;\r\n }\r\n\r\n.error {\r\n color: red;\r\n}\r\n\r\n.expanded {\r\n display: block;\r\n}\r\n\r\n.collapsed {\r\n display: none;\r\n}\r\n\r\n </style>\r\n</head>\r\n<body>\r\n <h1>");
|
|
||||||
#line 35 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_Title);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</h1>\r\n <p>\r\n");
|
|
||||||
#line 37 "DatabaseErrorPage.cshtml"
|
|
||||||
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
#line 37 "DatabaseErrorPage.cshtml"
|
|
||||||
for (Exception ex = Model.Exception; ex != null; ex = ex.InnerException)
|
|
||||||
{
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
WriteLiteral(" <span>");
|
|
||||||
#line 39 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(ex.GetType().Name);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral(": ");
|
|
||||||
#line 39 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(ex.Message);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</span>\r\n <br />\r\n");
|
|
||||||
#line 41 "DatabaseErrorPage.cshtml"
|
|
||||||
}
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
WriteLiteral(" </p>\r\n <hr />\r\n\r\n");
|
|
||||||
#line 45 "DatabaseErrorPage.cshtml"
|
|
||||||
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
#line 45 "DatabaseErrorPage.cshtml"
|
|
||||||
if (!Model.DatabaseExists && !Model.PendingMigrations.Any())
|
|
||||||
{
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
WriteLiteral(" <h2>");
|
|
||||||
#line 47 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.FormatDatabaseErrorPage_NoDbOrMigrationsTitle(Model.ContextType.Name));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</h2>\r\n <p>");
|
|
||||||
#line 48 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_NoDbOrMigrationsInfoPMC);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</p>\r\n <code> ");
|
|
||||||
#line 49 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_AddMigrationCommandPMC);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</code>\r\n <br />\r\n <code> ");
|
|
||||||
#line 51 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_ApplyMigrationsCommandPMC);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</code>\r\n <p>");
|
|
||||||
#line 52 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_NoDbOrMigrationsInfoCLI);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</p>\r\n <code> ");
|
|
||||||
#line 53 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_AddMigrationCommandCLI);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</code>\r\n <br />\r\n <code> ");
|
|
||||||
#line 55 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_ApplyMigrationsCommandCLI);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</code>\r\n <hr />\r\n");
|
|
||||||
#line 57 "DatabaseErrorPage.cshtml"
|
|
||||||
}
|
|
||||||
else if (Model.PendingMigrations.Any())
|
|
||||||
{
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
WriteLiteral(" <div>\r\n <h2>");
|
|
||||||
#line 61 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.FormatDatabaseErrorPage_PendingMigrationsTitle(Model.ContextType.Name));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</h2>\r\n <p>");
|
|
||||||
#line 62 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.FormatDatabaseErrorPage_PendingMigrationsInfo(Model.ContextType.Name));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</p>\r\n\r\n <ul>\r\n");
|
|
||||||
#line 65 "DatabaseErrorPage.cshtml"
|
|
||||||
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
#line 65 "DatabaseErrorPage.cshtml"
|
|
||||||
foreach (var migration in Model.PendingMigrations)
|
|
||||||
{
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
WriteLiteral(" <li>");
|
|
||||||
#line 67 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(migration);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</li>\r\n");
|
|
||||||
#line 68 "DatabaseErrorPage.cshtml"
|
|
||||||
}
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
WriteLiteral(" </ul>\r\n\r\n <p>\r\n <button id=\"applyMigrations\" onclick=\"ApplyMigrations()\">");
|
|
||||||
#line 72 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_ApplyMigrationsButton);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral(@"</button>
|
|
||||||
<span id=""applyMigrationsError"" class=""error""></span>
|
|
||||||
<span id=""applyMigrationsSuccess""></span>
|
|
||||||
</p>
|
|
||||||
<script>
|
|
||||||
function ApplyMigrations() {
|
|
||||||
applyMigrations.disabled = true;
|
|
||||||
applyMigrationsError.innerHTML = """";
|
|
||||||
applyMigrations.innerHTML = """);
|
|
||||||
#line 80 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(JavaScriptEncode(Strings.DatabaseErrorPage_ApplyMigrationsButtonRunning));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("\";\r\n\r\n var req = new XMLHttpRequest();\r\n\r\n req.onload = function (e) {\r\n if (req.status === 204) {\r\n applyMigrations.innerHTML = \"");
|
|
||||||
#line 86 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(JavaScriptEncode(Strings.DatabaseErrorPage_ApplyMigrationsButtonDone));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("\";\r\n applyMigrationsSuccess.innerHTML = \"");
|
|
||||||
#line 87 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(JavaScriptEncode(Strings.DatabaseErrorPage_MigrationsAppliedRefresh));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral(@""";
|
|
||||||
} else {
|
|
||||||
ErrorApplyingMigrations();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
req.onerror = function (e) {
|
|
||||||
ErrorApplyingMigrations();
|
|
||||||
};
|
|
||||||
|
|
||||||
var formBody = ""context=");
|
|
||||||
#line 97 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(JavaScriptEncode(UrlEncode(Model.ContextType.AssemblyQualifiedName)));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("\";\r\n req.open(\"POST\", \"");
|
|
||||||
#line 98 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(JavaScriptEncode(Model.Options.MigrationsEndPointPath.Value));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral(@""", true);
|
|
||||||
req.setRequestHeader(""Content-type"", ""application/x-www-form-urlencoded"");
|
|
||||||
req.setRequestHeader(""Content-length"", formBody.length);
|
|
||||||
req.setRequestHeader(""Connection"", ""close"");
|
|
||||||
req.send(formBody);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ErrorApplyingMigrations() {
|
|
||||||
applyMigrations.innerHTML = """);
|
|
||||||
#line 106 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(JavaScriptEncode(Strings.DatabaseErrorPage_ApplyMigrationsButton));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("\";\r\n applyMigrationsError.innerHTML = \"");
|
|
||||||
#line 107 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(JavaScriptEncode(Strings.DatabaseErrorPage_ApplyMigrationsFailed));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("\";\r\n applyMigrations.disabled = false;\r\n }\r\n </script>\r\n\r\n <p>");
|
|
||||||
#line 112 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_HowToApplyFromPMC);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</p>\r\n <code>");
|
|
||||||
#line 113 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_ApplyMigrationsCommandPMC);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</code>\r\n <p>");
|
|
||||||
#line 114 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_HowToApplyFromCLI);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</p>\r\n <code>");
|
|
||||||
#line 115 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_ApplyMigrationsCommandCLI);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</code>\r\n <hr />\r\n </div>\r\n");
|
|
||||||
#line 118 "DatabaseErrorPage.cshtml"
|
|
||||||
}
|
|
||||||
else if (Model.PendingModelChanges)
|
|
||||||
{
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
WriteLiteral(" <div>\r\n <h2>");
|
|
||||||
#line 122 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.FormatDatabaseErrorPage_PendingChangesTitle(Model.ContextType.Name));
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</h2>\r\n <p>");
|
|
||||||
#line 123 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_PendingChangesInfoPMC);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</p>\r\n <code>");
|
|
||||||
#line 124 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_AddMigrationCommandPMC);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</code>\r\n <br />\r\n <code>");
|
|
||||||
#line 126 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_ApplyMigrationsCommandPMC);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</code>\r\n <p>");
|
|
||||||
#line 127 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_PendingChangesInfoCLI);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</p>\r\n <code>");
|
|
||||||
#line 128 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_AddMigrationCommandCLI);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</code>\r\n <br />\r\n <code>");
|
|
||||||
#line 130 "DatabaseErrorPage.cshtml"
|
|
||||||
Write(Strings.DatabaseErrorPage_ApplyMigrationsCommandCLI);
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</code>\r\n <hr />\r\n </div>\r\n");
|
|
||||||
#line 133 "DatabaseErrorPage.cshtml"
|
|
||||||
}
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
|
|
||||||
WriteLiteral("</body>\r\n</html>");
|
|
||||||
}
|
|
||||||
#pragma warning restore 1998
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,135 +0,0 @@
|
||||||
@using System
|
|
||||||
@using System.Linq
|
|
||||||
@using Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore
|
|
||||||
@using Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Views
|
|
||||||
@{
|
|
||||||
Response.StatusCode = 500;
|
|
||||||
Response.ContentType = "text/html";
|
|
||||||
Response.ContentLength = null; // Clear any prior Content-Length
|
|
||||||
}
|
|
||||||
@functions
|
|
||||||
{
|
|
||||||
public DatabaseErrorPageModel Model { get; set; }
|
|
||||||
|
|
||||||
public string UrlEncode(string content)
|
|
||||||
{
|
|
||||||
return UrlEncoder.Encode(content);
|
|
||||||
}
|
|
||||||
|
|
||||||
public string JavaScriptEncode(string content)
|
|
||||||
{
|
|
||||||
return JavaScriptEncoder.Encode(content);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
<!DOCTYPE html>
|
|
||||||
|
|
||||||
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<title>Internal Server Error</title>
|
|
||||||
<style>
|
|
||||||
<%$ include: ErrorPage.css %>
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>@Strings.DatabaseErrorPage_Title</h1>
|
|
||||||
<p>
|
|
||||||
@for (Exception ex = Model.Exception; ex != null; ex = ex.InnerException)
|
|
||||||
{
|
|
||||||
<span>@ex.GetType().Name: @ex.Message</span>
|
|
||||||
<br />
|
|
||||||
}
|
|
||||||
</p>
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
@if (!Model.DatabaseExists && !Model.PendingMigrations.Any())
|
|
||||||
{
|
|
||||||
<h2>@Strings.FormatDatabaseErrorPage_NoDbOrMigrationsTitle(Model.ContextType.Name)</h2>
|
|
||||||
<p>@Strings.DatabaseErrorPage_NoDbOrMigrationsInfoPMC</p>
|
|
||||||
<code> @Strings.DatabaseErrorPage_AddMigrationCommandPMC</code>
|
|
||||||
<br />
|
|
||||||
<code> @Strings.DatabaseErrorPage_ApplyMigrationsCommandPMC</code>
|
|
||||||
<p>@Strings.DatabaseErrorPage_NoDbOrMigrationsInfoCLI</p>
|
|
||||||
<code> @Strings.DatabaseErrorPage_AddMigrationCommandCLI</code>
|
|
||||||
<br />
|
|
||||||
<code> @Strings.DatabaseErrorPage_ApplyMigrationsCommandCLI</code>
|
|
||||||
<hr />
|
|
||||||
}
|
|
||||||
else if (Model.PendingMigrations.Any())
|
|
||||||
{
|
|
||||||
<div>
|
|
||||||
<h2>@Strings.FormatDatabaseErrorPage_PendingMigrationsTitle(Model.ContextType.Name)</h2>
|
|
||||||
<p>@Strings.FormatDatabaseErrorPage_PendingMigrationsInfo(Model.ContextType.Name)</p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
@foreach (var migration in Model.PendingMigrations)
|
|
||||||
{
|
|
||||||
<li>@migration</li>
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<button id="applyMigrations" onclick="ApplyMigrations()">@Strings.DatabaseErrorPage_ApplyMigrationsButton</button>
|
|
||||||
<span id="applyMigrationsError" class="error"></span>
|
|
||||||
<span id="applyMigrationsSuccess"></span>
|
|
||||||
</p>
|
|
||||||
<script>
|
|
||||||
function ApplyMigrations() {
|
|
||||||
applyMigrations.disabled = true;
|
|
||||||
applyMigrationsError.innerHTML = "";
|
|
||||||
applyMigrations.innerHTML = "@JavaScriptEncode(Strings.DatabaseErrorPage_ApplyMigrationsButtonRunning)";
|
|
||||||
|
|
||||||
var req = new XMLHttpRequest();
|
|
||||||
|
|
||||||
req.onload = function (e) {
|
|
||||||
if (req.status === 204) {
|
|
||||||
applyMigrations.innerHTML = "@JavaScriptEncode(Strings.DatabaseErrorPage_ApplyMigrationsButtonDone)";
|
|
||||||
applyMigrationsSuccess.innerHTML = "@JavaScriptEncode(Strings.DatabaseErrorPage_MigrationsAppliedRefresh)";
|
|
||||||
} else {
|
|
||||||
ErrorApplyingMigrations();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
req.onerror = function (e) {
|
|
||||||
ErrorApplyingMigrations();
|
|
||||||
};
|
|
||||||
|
|
||||||
var formBody = "context=@JavaScriptEncode(UrlEncode(Model.ContextType.AssemblyQualifiedName))";
|
|
||||||
req.open("POST", "@JavaScriptEncode(Model.Options.MigrationsEndPointPath.Value)", true);
|
|
||||||
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
|
||||||
req.setRequestHeader("Content-length", formBody.length);
|
|
||||||
req.setRequestHeader("Connection", "close");
|
|
||||||
req.send(formBody);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ErrorApplyingMigrations() {
|
|
||||||
applyMigrations.innerHTML = "@JavaScriptEncode(Strings.DatabaseErrorPage_ApplyMigrationsButton)";
|
|
||||||
applyMigrationsError.innerHTML = "@JavaScriptEncode(Strings.DatabaseErrorPage_ApplyMigrationsFailed)";
|
|
||||||
applyMigrations.disabled = false;
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<p>@Strings.DatabaseErrorPage_HowToApplyFromPMC</p>
|
|
||||||
<code>@Strings.DatabaseErrorPage_ApplyMigrationsCommandPMC</code>
|
|
||||||
<p>@Strings.DatabaseErrorPage_HowToApplyFromCLI</p>
|
|
||||||
<code>@Strings.DatabaseErrorPage_ApplyMigrationsCommandCLI</code>
|
|
||||||
<hr />
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
else if (Model.PendingModelChanges)
|
|
||||||
{
|
|
||||||
<div>
|
|
||||||
<h2>@Strings.FormatDatabaseErrorPage_PendingChangesTitle(Model.ContextType.Name)</h2>
|
|
||||||
<p>@Strings.DatabaseErrorPage_PendingChangesInfoPMC</p>
|
|
||||||
<code>@Strings.DatabaseErrorPage_AddMigrationCommandPMC</code>
|
|
||||||
<br />
|
|
||||||
<code>@Strings.DatabaseErrorPage_ApplyMigrationsCommandPMC</code>
|
|
||||||
<p>@Strings.DatabaseErrorPage_PendingChangesInfoCLI</p>
|
|
||||||
<code>@Strings.DatabaseErrorPage_AddMigrationCommandCLI</code>
|
|
||||||
<br />
|
|
||||||
<code>@Strings.DatabaseErrorPage_ApplyMigrationsCommandCLI</code>
|
|
||||||
<hr />
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,73 +0,0 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
using JetBrains.Annotations;
|
|
||||||
using Microsoft.AspNetCore.Builder;
|
|
||||||
using Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Utilities;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Views
|
|
||||||
{
|
|
||||||
[Obsolete("This type is for internal use only and will be removed in a future version.")]
|
|
||||||
public class DatabaseErrorPageModel
|
|
||||||
{
|
|
||||||
private readonly Type _contextType;
|
|
||||||
private readonly Exception _exception;
|
|
||||||
private readonly bool _databaseExists;
|
|
||||||
private readonly bool _pendingModelChanges;
|
|
||||||
private readonly IEnumerable<string> _pendingMigrations;
|
|
||||||
private readonly DatabaseErrorPageOptions _options;
|
|
||||||
|
|
||||||
public DatabaseErrorPageModel(
|
|
||||||
[NotNull] Type contextType,
|
|
||||||
[NotNull] Exception exception,
|
|
||||||
bool databaseExists,
|
|
||||||
bool pendingModelChanges,
|
|
||||||
[NotNull] IEnumerable<string> pendingMigrations,
|
|
||||||
[NotNull] DatabaseErrorPageOptions options)
|
|
||||||
{
|
|
||||||
Check.NotNull(contextType, "contextType");
|
|
||||||
Check.NotNull(exception, "exception");
|
|
||||||
Check.NotNull(pendingMigrations, "pendingMigrations");
|
|
||||||
Check.NotNull(options, "options");
|
|
||||||
|
|
||||||
_contextType = contextType;
|
|
||||||
_exception = exception;
|
|
||||||
_databaseExists = databaseExists;
|
|
||||||
_pendingModelChanges = pendingModelChanges;
|
|
||||||
_pendingMigrations = pendingMigrations;
|
|
||||||
_options = options;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual Type ContextType
|
|
||||||
{
|
|
||||||
get { return _contextType; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual Exception Exception
|
|
||||||
{
|
|
||||||
get { return _exception; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual bool DatabaseExists
|
|
||||||
{
|
|
||||||
get { return _databaseExists; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual bool PendingModelChanges
|
|
||||||
{
|
|
||||||
get { return _pendingModelChanges; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual IEnumerable<string> PendingMigrations
|
|
||||||
{
|
|
||||||
get { return _pendingMigrations; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual DatabaseErrorPageOptions Options
|
|
||||||
{
|
|
||||||
get { return _options; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Views.DatabaseErrorPage : Microsoft.AspNetCore.DiagnosticsViewPage.Views.BaseView",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Views.DatabaseErrorPageModel",
|
||||||
|
"Kind": "Removal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Views.DatabaseErrorPage : Microsoft.AspNetCore.DiagnosticsViewPage.Views.BaseView",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Views.DatabaseErrorPageModel",
|
||||||
|
"Kind": "Removal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using Microsoft.AspNetCore.Builder;
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Diagnostics.Views
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Holds data to be displayed on the compilation error page.
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete("This type is for internal use only and will be removed in a future version.")]
|
|
||||||
public class CompilationErrorPageModel
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Options for what output to display.
|
|
||||||
/// </summary>
|
|
||||||
public DeveloperExceptionPageOptions Options { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Detailed information about each parse or compilation error.
|
|
||||||
/// </summary>
|
|
||||||
public IList<ErrorDetails> ErrorDetails { get; } = new List<ErrorDetails>();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,100 +0,0 @@
|
||||||
@using System
|
|
||||||
@using System.Globalization
|
|
||||||
@using System.Linq
|
|
||||||
@using System.Net
|
|
||||||
@using Microsoft.AspNetCore.Diagnostics
|
|
||||||
@functions
|
|
||||||
{
|
|
||||||
public CompilationErrorPageModel Model { get; set; }
|
|
||||||
}
|
|
||||||
@{
|
|
||||||
Response.StatusCode = 500;
|
|
||||||
Response.ContentType = "text/html; charset=utf-8";
|
|
||||||
Response.ContentLength = null; // Clear any prior Content-Length
|
|
||||||
}
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<title>@Resources.ErrorPageHtml_Title</title>
|
|
||||||
<style>
|
|
||||||
<%$ include: ErrorPage.css %>
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>@Resources.ErrorPageHtml_CompilationException</h1>
|
|
||||||
@foreach (var errorDetail in Model.ErrorDetails)
|
|
||||||
{
|
|
||||||
<div id="stackpage" class="page">
|
|
||||||
@{
|
|
||||||
var stackFrameCount = 0;
|
|
||||||
var frameId = "";
|
|
||||||
}
|
|
||||||
@{
|
|
||||||
var fileName = errorDetail.StackFrames.FirstOrDefault()?.File;
|
|
||||||
if (!string.IsNullOrEmpty(fileName))
|
|
||||||
{
|
|
||||||
<div class="titleerror">@fileName</div>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@if (!string.IsNullOrEmpty(errorDetail.ErrorMessage))
|
|
||||||
{
|
|
||||||
<div class="details">@errorDetail.ErrorMessage</div>
|
|
||||||
}
|
|
||||||
<br />
|
|
||||||
<ul>
|
|
||||||
@foreach (var frame in errorDetail.StackFrames)
|
|
||||||
{
|
|
||||||
@{
|
|
||||||
stackFrameCount++;
|
|
||||||
frameId = "frame" + stackFrameCount;
|
|
||||||
}
|
|
||||||
<li class="frame" id="@frameId">
|
|
||||||
@if (!string.IsNullOrEmpty(frame.ErrorDetails))
|
|
||||||
{
|
|
||||||
<h3>@frame.ErrorDetails</h3>
|
|
||||||
}
|
|
||||||
|
|
||||||
@if (frame.Line != 0 && frame.ContextCode.Any())
|
|
||||||
{
|
|
||||||
<button class="expandCollapseButton" data-frameId="@frameId">+</button>
|
|
||||||
<div class="source">
|
|
||||||
@if (frame.PreContextCode.Any())
|
|
||||||
{
|
|
||||||
<ol start="@frame.PreContextLine" class="collapsible">
|
|
||||||
@foreach (var line in frame.PreContextCode)
|
|
||||||
{
|
|
||||||
<li><span>@line</span></li>
|
|
||||||
}
|
|
||||||
</ol>
|
|
||||||
}
|
|
||||||
<ol start="@frame.Line" class="highlight">
|
|
||||||
@foreach (var line in frame.ContextCode)
|
|
||||||
{
|
|
||||||
<li><span>@line</span></li>
|
|
||||||
}
|
|
||||||
</ol>
|
|
||||||
@if (frame.PostContextCode.Any())
|
|
||||||
{
|
|
||||||
<ol start='@(frame.Line + 1)' class="collapsible">
|
|
||||||
@foreach (var line in frame.PostContextCode)
|
|
||||||
{
|
|
||||||
<li><span>@line</span></li>
|
|
||||||
}
|
|
||||||
</ol>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
</li>
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
<br />
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
<script>
|
|
||||||
//<!--
|
|
||||||
<%$ include: ErrorPage.js %>
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Diagnostics.Views
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Contains details for individual exception messages.
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete("This type is for internal use only and will be removed in a future version.")]
|
|
||||||
public class ErrorDetails
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// An individual exception
|
|
||||||
/// </summary>
|
|
||||||
public Exception Error { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The generated stack frames
|
|
||||||
/// </summary>
|
|
||||||
public IEnumerable<StackFrame> StackFrames { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the summary message.
|
|
||||||
/// </summary>
|
|
||||||
public string ErrorMessage { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,262 +0,0 @@
|
||||||
@using System
|
|
||||||
@using System.Globalization
|
|
||||||
@using System.Linq
|
|
||||||
@using System.Net
|
|
||||||
@using System.Reflection
|
|
||||||
@using Microsoft.AspNetCore.Diagnostics.Views
|
|
||||||
@using Microsoft.AspNetCore.Diagnostics
|
|
||||||
@functions
|
|
||||||
{
|
|
||||||
public ErrorPage(ErrorPageModel model)
|
|
||||||
{
|
|
||||||
Model = model;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ErrorPageModel Model { get; set; }
|
|
||||||
}
|
|
||||||
@{
|
|
||||||
// TODO: Response.ReasonPhrase = "Internal Server Error";
|
|
||||||
Response.ContentType = "text/html; charset=utf-8";
|
|
||||||
string location = string.Empty;
|
|
||||||
}
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="@CultureInfo.CurrentUICulture.TwoLetterISOLanguageName" xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<title>@Resources.ErrorPageHtml_Title</title>
|
|
||||||
<style>
|
|
||||||
<%$ include: ErrorPage.css %>
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>@Resources.ErrorPageHtml_UnhandledException</h1>
|
|
||||||
@foreach (var errorDetail in Model.ErrorDetails)
|
|
||||||
{
|
|
||||||
<div class="titleerror">@errorDetail.Error.GetType().Name: @{ Output.Write(HtmlEncodeAndReplaceLineBreaks(errorDetail.Error.Message)); }</div>
|
|
||||||
@{
|
|
||||||
var firstFrame = errorDetail.StackFrames.FirstOrDefault();
|
|
||||||
if (firstFrame != null)
|
|
||||||
{
|
|
||||||
location = firstFrame.Function;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!string.IsNullOrEmpty(location) && firstFrame != null && !string.IsNullOrEmpty(firstFrame.File))
|
|
||||||
{
|
|
||||||
<p class="location">@location in <code title="@firstFrame.File">@System.IO.Path.GetFileName(firstFrame.File)</code>, line @firstFrame.Line</p>
|
|
||||||
}
|
|
||||||
else if (!string.IsNullOrEmpty(location))
|
|
||||||
{
|
|
||||||
<p class="location">@location</p>
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
<p class="location">@Resources.ErrorPageHtml_UnknownLocation</p>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@{
|
|
||||||
var reflectionTypeLoadException = Model.ErrorDetails.Last()?.Error as ReflectionTypeLoadException;
|
|
||||||
if (reflectionTypeLoadException != null)
|
|
||||||
{
|
|
||||||
if (reflectionTypeLoadException.LoaderExceptions.Length > 0)
|
|
||||||
{
|
|
||||||
<h3>Loader Exceptions:</h3>
|
|
||||||
<ul>
|
|
||||||
@foreach (var ex in reflectionTypeLoadException.LoaderExceptions)
|
|
||||||
{
|
|
||||||
<li>@ex.Message</li>
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
<ul id="header">
|
|
||||||
<li id="stack" tabindex="1" class="selected">
|
|
||||||
@Resources.ErrorPageHtml_StackButton
|
|
||||||
</li>
|
|
||||||
<li id="query" tabindex="2">
|
|
||||||
@Resources.ErrorPageHtml_QueryButton
|
|
||||||
</li>
|
|
||||||
<li id="cookies" tabindex="3">
|
|
||||||
@Resources.ErrorPageHtml_CookiesButton
|
|
||||||
</li>
|
|
||||||
<li id="headers" tabindex="4">
|
|
||||||
@Resources.ErrorPageHtml_HeadersButton
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div id="stackpage" class="page">
|
|
||||||
<ul>
|
|
||||||
@{
|
|
||||||
var exceptionCount = 0;
|
|
||||||
var stackFrameCount = 0;
|
|
||||||
var exceptionDetailId = "";
|
|
||||||
var frameId = "";
|
|
||||||
}
|
|
||||||
@foreach (var errorDetail in Model.ErrorDetails)
|
|
||||||
{
|
|
||||||
@{
|
|
||||||
exceptionCount++;
|
|
||||||
exceptionDetailId = "exceptionDetail" + exceptionCount;
|
|
||||||
}
|
|
||||||
<li>
|
|
||||||
<h2 class="stackerror">@errorDetail.Error.GetType().Name: @errorDetail.Error.Message</h2>
|
|
||||||
<ul>
|
|
||||||
@foreach (var frame in errorDetail.StackFrames)
|
|
||||||
{
|
|
||||||
@{
|
|
||||||
stackFrameCount++;
|
|
||||||
frameId = "frame" + stackFrameCount;
|
|
||||||
}
|
|
||||||
<li class="frame" id="@frameId">
|
|
||||||
@if (string.IsNullOrEmpty(frame.File))
|
|
||||||
{
|
|
||||||
<h3>@frame.Function</h3>
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
<h3>@frame.Function in <code title="@frame.File">@System.IO.Path.GetFileName(frame.File)</code></h3>
|
|
||||||
}
|
|
||||||
|
|
||||||
@if (frame.Line != 0 && frame.ContextCode.Any())
|
|
||||||
{
|
|
||||||
<button class="expandCollapseButton" data-frameId="@frameId">+</button>
|
|
||||||
<div class="source">
|
|
||||||
@if (frame.PreContextCode.Any())
|
|
||||||
{
|
|
||||||
<ol start="@frame.PreContextLine" class="collapsible">
|
|
||||||
@foreach (var line in frame.PreContextCode)
|
|
||||||
{
|
|
||||||
<li><span>@line</span></li>
|
|
||||||
}
|
|
||||||
</ol>
|
|
||||||
}
|
|
||||||
|
|
||||||
<ol start="@frame.Line" class="highlight">
|
|
||||||
@foreach (var line in frame.ContextCode)
|
|
||||||
{
|
|
||||||
<li><span>@line</span></li>
|
|
||||||
}
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
@if (frame.PostContextCode.Any())
|
|
||||||
{
|
|
||||||
<ol start='@(frame.Line + 1)' class="collapsible">
|
|
||||||
@foreach (var line in frame.PostContextCode)
|
|
||||||
{
|
|
||||||
<li><span>@line</span></li>
|
|
||||||
}
|
|
||||||
</ol>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
</li>
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<br/>
|
|
||||||
<div class="rawExceptionBlock">
|
|
||||||
<div class="showRawExceptionContainer">
|
|
||||||
<button class="showRawException" data-exceptionDetailId="@exceptionDetailId">Show raw exception details</button>
|
|
||||||
</div>
|
|
||||||
<div id="@exceptionDetailId" class="rawExceptionDetails">
|
|
||||||
<pre class="rawExceptionStackTrace">@errorDetail.Error.ToString()</pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="querypage" class="page">
|
|
||||||
@if (Model.Query.Any())
|
|
||||||
{
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>@Resources.ErrorPageHtml_VariableColumn</th>
|
|
||||||
<th>@Resources.ErrorPageHtml_ValueColumn</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@foreach (var kv in Model.Query.OrderBy(kv => kv.Key))
|
|
||||||
{
|
|
||||||
foreach (var v in kv.Value)
|
|
||||||
{
|
|
||||||
<tr>
|
|
||||||
<td>@kv.Key</td>
|
|
||||||
<td>@v</td>
|
|
||||||
</tr>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
<p>@Resources.ErrorPageHtml_NoQueryStringData</p>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="cookiespage" class="page">
|
|
||||||
@if (Model.Cookies.Any())
|
|
||||||
{
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>@Resources.ErrorPageHtml_VariableColumn</th>
|
|
||||||
<th>@Resources.ErrorPageHtml_ValueColumn</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@foreach (var kv in Model.Cookies.OrderBy(kv => kv.Key))
|
|
||||||
{
|
|
||||||
<tr>
|
|
||||||
<td>@kv.Key</td>
|
|
||||||
<td>@kv.Value</td>
|
|
||||||
</tr>
|
|
||||||
}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
<p>@Resources.ErrorPageHtml_NoCookieData</p>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
<div id="headerspage" class="page">
|
|
||||||
@if (Model.Headers.Any())
|
|
||||||
{
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>@Resources.ErrorPageHtml_VariableColumn</th>
|
|
||||||
<th>@Resources.ErrorPageHtml_ValueColumn</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@foreach (var kv in Model.Headers.OrderBy(kv => kv.Key))
|
|
||||||
{
|
|
||||||
foreach (var v in kv.Value)
|
|
||||||
{
|
|
||||||
<tr>
|
|
||||||
<td>@kv.Key</td>
|
|
||||||
<td>@v</td>
|
|
||||||
</tr>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
<p>@Resources.ErrorPageHtml_NoHeaderData</p>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
//<!--
|
|
||||||
<%$ include: ErrorPage.js %>
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,195 +0,0 @@
|
||||||
body {
|
|
||||||
font-family: 'Segoe UI', Tahoma, Arial, Helvetica, sans-serif;
|
|
||||||
font-size: .813em;
|
|
||||||
color: #222;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3, h4, h5 {
|
|
||||||
/*font-family: 'Segoe UI',Tahoma,Arial,Helvetica,sans-serif;*/
|
|
||||||
font-weight: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
color: #44525e;
|
|
||||||
margin: 15px 0 15px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
margin: 10px 5px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h3 {
|
|
||||||
color: #363636;
|
|
||||||
margin: 5px 5px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
font-family: Consolas, "Courier New", courier, monospace;
|
|
||||||
}
|
|
||||||
|
|
||||||
body .titleerror {
|
|
||||||
padding: 3px 3px 6px 3px;
|
|
||||||
display: block;
|
|
||||||
font-size: 1.5em;
|
|
||||||
font-weight: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
body .location {
|
|
||||||
margin: 3px 0 10px 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header {
|
|
||||||
font-size: 18px;
|
|
||||||
padding: 15px 0;
|
|
||||||
border-top: 1px #ddd solid;
|
|
||||||
border-bottom: 1px #ddd solid;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header li {
|
|
||||||
display: inline;
|
|
||||||
margin: 5px;
|
|
||||||
padding: 5px;
|
|
||||||
color: #a0a0a0;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .selected {
|
|
||||||
background: #44c5f2;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#stackpage ul {
|
|
||||||
list-style: none;
|
|
||||||
padding-left: 0;
|
|
||||||
margin: 0;
|
|
||||||
/*border-bottom: 1px #ddd solid;*/
|
|
||||||
}
|
|
||||||
|
|
||||||
#stackpage .details {
|
|
||||||
font-size: 1.2em;
|
|
||||||
padding: 3px;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#stackpage .stackerror {
|
|
||||||
padding: 5px;
|
|
||||||
border-bottom: 1px #ddd solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#stackpage .frame {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0 0 0 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#stackpage .frame h3 {
|
|
||||||
padding: 2px;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#stackpage .source {
|
|
||||||
padding: 0 0 0 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#stackpage .source ol li {
|
|
||||||
font-family: Consolas, "Courier New", courier, monospace;
|
|
||||||
white-space: pre;
|
|
||||||
background-color: #fbfbfb;
|
|
||||||
}
|
|
||||||
|
|
||||||
#stackpage .frame .source .highlight li span {
|
|
||||||
color: #FF0000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#stackpage .source ol.collapsible li {
|
|
||||||
color: #888;
|
|
||||||
}
|
|
||||||
|
|
||||||
#stackpage .source ol.collapsible li span {
|
|
||||||
color: #606060;
|
|
||||||
}
|
|
||||||
|
|
||||||
.page table {
|
|
||||||
border-collapse: separate;
|
|
||||||
border-spacing: 0;
|
|
||||||
margin: 0 0 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.page th {
|
|
||||||
vertical-align: bottom;
|
|
||||||
padding: 10px 5px 5px 5px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #a0a0a0;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.page td {
|
|
||||||
padding: 3px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.page th, .page td {
|
|
||||||
border-right: 1px #ddd solid;
|
|
||||||
border-bottom: 1px #ddd solid;
|
|
||||||
border-left: 1px transparent solid;
|
|
||||||
border-top: 1px transparent solid;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.page th:last-child, .page td:last-child {
|
|
||||||
border-right: 1px transparent solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
.page .length {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #1ba1e2;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
color: #13709e;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
.showRawException {
|
|
||||||
cursor: pointer;
|
|
||||||
color: #44c5f2;
|
|
||||||
background-color: transparent;
|
|
||||||
font-size: 1.2em;
|
|
||||||
text-align: left;
|
|
||||||
text-decoration: none;
|
|
||||||
display: inline-block;
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rawExceptionStackTrace {
|
|
||||||
font-size: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rawExceptionBlock {
|
|
||||||
border-top: 1px #ddd solid;
|
|
||||||
border-bottom: 1px #ddd solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
.showRawExceptionContainer {
|
|
||||||
margin-top: 10px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.expandCollapseButton {
|
|
||||||
cursor: pointer;
|
|
||||||
float: left;
|
|
||||||
height: 16px;
|
|
||||||
width: 16px;
|
|
||||||
font-size: 10px;
|
|
||||||
position: absolute;
|
|
||||||
left: 10px;
|
|
||||||
background-color: #eee;
|
|
||||||
padding: 0;
|
|
||||||
border: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
@ -1,192 +0,0 @@
|
||||||
(function (window, undefined) {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
function ns(selector, element) {
|
|
||||||
return new NodeCollection(selector, element);
|
|
||||||
}
|
|
||||||
|
|
||||||
function NodeCollection(selector, element) {
|
|
||||||
this.items = [];
|
|
||||||
element = element || window.document;
|
|
||||||
|
|
||||||
var nodeList;
|
|
||||||
|
|
||||||
if (typeof (selector) === "string") {
|
|
||||||
nodeList = element.querySelectorAll(selector);
|
|
||||||
for (var i = 0, l = nodeList.length; i < l; i++) {
|
|
||||||
this.items.push(nodeList.item(i));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
NodeCollection.prototype = {
|
|
||||||
each: function (callback) {
|
|
||||||
for (var i = 0, l = this.items.length; i < l; i++) {
|
|
||||||
callback(this.items[i], i);
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
children: function (selector) {
|
|
||||||
var children = [];
|
|
||||||
|
|
||||||
this.each(function (el) {
|
|
||||||
children = children.concat(ns(selector, el).items);
|
|
||||||
});
|
|
||||||
|
|
||||||
return ns(children);
|
|
||||||
},
|
|
||||||
|
|
||||||
hide: function () {
|
|
||||||
this.each(function (el) {
|
|
||||||
el.style.display = "none";
|
|
||||||
});
|
|
||||||
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
toggle: function () {
|
|
||||||
this.each(function (el) {
|
|
||||||
el.style.display = el.style.display === "none" ? "" : "none";
|
|
||||||
});
|
|
||||||
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
show: function () {
|
|
||||||
this.each(function (el) {
|
|
||||||
el.style.display = "";
|
|
||||||
});
|
|
||||||
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
addClass: function (className) {
|
|
||||||
this.each(function (el) {
|
|
||||||
var existingClassName = el.className,
|
|
||||||
classNames;
|
|
||||||
if (!existingClassName) {
|
|
||||||
el.className = className;
|
|
||||||
} else {
|
|
||||||
classNames = existingClassName.split(" ");
|
|
||||||
if (classNames.indexOf(className) < 0) {
|
|
||||||
el.className = existingClassName + " " + className;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
removeClass: function (className) {
|
|
||||||
this.each(function (el) {
|
|
||||||
var existingClassName = el.className,
|
|
||||||
classNames, index;
|
|
||||||
if (existingClassName === className) {
|
|
||||||
el.className = "";
|
|
||||||
} else if (existingClassName) {
|
|
||||||
classNames = existingClassName.split(" ");
|
|
||||||
index = classNames.indexOf(className);
|
|
||||||
if (index > 0) {
|
|
||||||
classNames.splice(index, 1);
|
|
||||||
el.className = classNames.join(" ");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
attr: function (name) {
|
|
||||||
if (this.items.length === 0) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.items[0].getAttribute(name);
|
|
||||||
},
|
|
||||||
|
|
||||||
on: function (eventName, handler) {
|
|
||||||
this.each(function (el, idx) {
|
|
||||||
var callback = function (e) {
|
|
||||||
e = e || window.event;
|
|
||||||
if (!e.which && e.keyCode) {
|
|
||||||
e.which = e.keyCode; // Normalize IE8 key events
|
|
||||||
}
|
|
||||||
handler.apply(el, [e]);
|
|
||||||
};
|
|
||||||
|
|
||||||
if (el.addEventListener) { // DOM Events
|
|
||||||
el.addEventListener(eventName, callback, false);
|
|
||||||
} else if (el.attachEvent) { // IE8 events
|
|
||||||
el.attachEvent("on" + eventName, callback);
|
|
||||||
} else {
|
|
||||||
el["on" + type] = callback;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
click: function (handler) {
|
|
||||||
return this.on("click", handler);
|
|
||||||
},
|
|
||||||
|
|
||||||
keypress: function (handler) {
|
|
||||||
return this.on("keypress", handler);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function frame(el) {
|
|
||||||
ns(".source .collapsible", el).toggle();
|
|
||||||
}
|
|
||||||
|
|
||||||
function expandCollapseButton(el) {
|
|
||||||
var frameId = el.getAttribute("data-frameId");
|
|
||||||
frame(document.getElementById(frameId));
|
|
||||||
if (el.innerText === "+") {
|
|
||||||
el.innerText = "-";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
el.innerText = "+";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function tab(el) {
|
|
||||||
var unselected = ns("#header .selected").removeClass("selected").attr("id");
|
|
||||||
var selected = ns("#" + el.id).addClass("selected").attr("id");
|
|
||||||
|
|
||||||
ns("#" + unselected + "page").hide();
|
|
||||||
ns("#" + selected + "page").show();
|
|
||||||
}
|
|
||||||
|
|
||||||
ns(".rawExceptionDetails").hide();
|
|
||||||
ns(".collapsible").hide();
|
|
||||||
ns(".page").hide();
|
|
||||||
ns("#stackpage").show();
|
|
||||||
|
|
||||||
ns(".expandCollapseButton")
|
|
||||||
.click(function () {
|
|
||||||
expandCollapseButton(this);
|
|
||||||
})
|
|
||||||
.keypress(function (e) {
|
|
||||||
if (e.which === 13) {
|
|
||||||
expandCollapseButton(this);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
ns("#header li")
|
|
||||||
.click(function () {
|
|
||||||
tab(this);
|
|
||||||
})
|
|
||||||
.keypress(function (e) {
|
|
||||||
if (e.which === 13) {
|
|
||||||
tab(this);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
ns(".showRawException")
|
|
||||||
.click(function () {
|
|
||||||
var exceptionDetailId = this.getAttribute("data-exceptionDetailId");
|
|
||||||
ns("#" + exceptionDetailId).toggle();
|
|
||||||
});
|
|
||||||
})(window);
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using Microsoft.AspNetCore.Builder;
|
|
||||||
using Microsoft.AspNetCore.Http;
|
|
||||||
using Microsoft.Extensions.Primitives;
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Diagnostics.Views
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Holds data to be displayed on the error page.
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete("This type is for internal use only and will be removed in a future version.")]
|
|
||||||
public class ErrorPageModel
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Options for what output to display.
|
|
||||||
/// </summary>
|
|
||||||
public DeveloperExceptionPageOptions Options { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Detailed information about each exception in the stack.
|
|
||||||
/// </summary>
|
|
||||||
public IEnumerable<ErrorDetails> ErrorDetails { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Parsed query data.
|
|
||||||
/// </summary>
|
|
||||||
public IQueryCollection Query { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Request cookies.
|
|
||||||
/// </summary>
|
|
||||||
public IRequestCookieCollection Cookies { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Request headers.
|
|
||||||
/// </summary>
|
|
||||||
public IDictionary<string, StringValues> Headers { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Diagnostics.Views
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Detailed exception stack information used to generate a view
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete("This type is for internal use only and will be removed in a future version.")]
|
|
||||||
public class StackFrame
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Function containing instruction
|
|
||||||
/// </summary>
|
|
||||||
public string Function { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// File containing the instruction
|
|
||||||
/// </summary>
|
|
||||||
public string File { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The line number of the instruction
|
|
||||||
/// </summary>
|
|
||||||
public int Line { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The line preceeding the frame line
|
|
||||||
/// </summary>
|
|
||||||
public int PreContextLine { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Lines of code before the actual error line(s).
|
|
||||||
/// </summary>
|
|
||||||
public IEnumerable<string> PreContextCode { get; set; } = Enumerable.Empty<string>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Line(s) of code responsible for the error.
|
|
||||||
/// </summary>
|
|
||||||
public IEnumerable<string> ContextCode { get; set; } = Enumerable.Empty<string>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Lines of code after the actual error line(s).
|
|
||||||
/// </summary>
|
|
||||||
public IEnumerable<string> PostContextCode { get; set; } = Enumerable.Empty<string>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Specific error details for this stack frame.
|
|
||||||
/// </summary>
|
|
||||||
public string ErrorDetails { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Diagnostics.Views
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Detailed exception stack information used to generate a view
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete("This type is for internal use only and will be removed in a future version.")]
|
|
||||||
public class StackFrameInfo
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Function containing instruction
|
|
||||||
/// </summary>
|
|
||||||
public string Function { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// File containing the instruction
|
|
||||||
/// </summary>
|
|
||||||
public string File { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The line number of the instruction
|
|
||||||
/// </summary>
|
|
||||||
public int Line { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The line preceeding the frame line
|
|
||||||
/// </summary>
|
|
||||||
public int PreContextLine { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Lines of code before the actual error line(s).
|
|
||||||
/// </summary>
|
|
||||||
public IEnumerable<string> PreContextCode { get; set; } = Enumerable.Empty<string>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Line(s) of code responsible for the error.
|
|
||||||
/// </summary>
|
|
||||||
public IEnumerable<string> ContextCode { get; set; } = Enumerable.Empty<string>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Lines of code after the actual error line(s).
|
|
||||||
/// </summary>
|
|
||||||
public IEnumerable<string> PostContextCode { get; set; } = Enumerable.Empty<string>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Specific error details for this stack frame.
|
|
||||||
/// </summary>
|
|
||||||
public string ErrorDetails { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.CompilationErrorPageModel",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.CompilationErrorPage : Microsoft.AspNetCore.DiagnosticsViewPage.Views.BaseView",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.ErrorDetails",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.ErrorPage : Microsoft.AspNetCore.DiagnosticsViewPage.Views.BaseView",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.ErrorPageModel",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.StackFrame",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.StackFrameInfo",
|
||||||
|
"Kind": "Removal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.CompilationErrorPageModel",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.CompilationErrorPage : Microsoft.AspNetCore.DiagnosticsViewPage.Views.BaseView",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.ErrorDetails",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.ErrorPage : Microsoft.AspNetCore.DiagnosticsViewPage.Views.BaseView",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.ErrorPageModel",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.StackFrame",
|
||||||
|
"Kind": "Removal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OldTypeId": "public class Microsoft.AspNetCore.Diagnostics.Views.StackFrameInfo",
|
||||||
|
"Kind": "Removal"
|
||||||
|
}
|
||||||
|
]
|
||||||
Loading…
Reference in New Issue