Я недавно вошел в ASP.NET Core и прорабатываю некоторую документацию, но одна вещь возникла больше, чем та, что я тоже не могу найти решение.Когда я запускаю приложение, в консоли появляется следующая ошибка:
Кодировка символов в текстовом документе не была объявлена.Документ будет отображаться с искаженным текстом в некоторых конфигурациях браузера, если документ содержит символы вне диапазона US-ASCII.Кодировка символов файла должна быть объявлена в протоколе передачи, или файл должен использовать метку порядка байтов в качестве подписи кодировки.
Когда я искал эту ошибку, я видел сообщения о том, что я должендобавьте объявление базовой кодировки в заголовок документа.Это имело смысл, но не сработало.
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Вот мои текущие настройки:
![Project Setup](https://i.stack.imgur.com/8G9Rl.png)
HomeController
using Microsoft.AspNetCore.Mvc;
using Senua.Models;
using System.Diagnostics;
namespace Senua.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
}
Просмотров / Home / Index.cshtml
@{
ViewData["Title"] = "Index";
}
<h2>Index</h2>
Просмотры / Shared / Layout
Я сократил это для краткости.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>@ViewData["Title"] - WebApplication1</title>
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment exclude="Development">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
</head>
<body>
<partial name="_CookieConsentPartial" />
<div class="container body-content">
@RenderBody()
</div>
<environment include="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
</environment>
<environment exclude="Development">
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.3.1.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT">
</script>
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
crossorigin="anonymous"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa">
</script>
<script src="~/js/site.min.js" asp-append-version="true"></script>
</environment>
@RenderSection("Scripts", required: false)
</body>
</html>
Views / ViewStart.cshtml
@{
Layout = "_Layout";
}
Views / ViewIMports.cshtml
@using Senua
@using Senua.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Senua.DAL;
namespace Senua
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<LocalContext>(opt => opt.UseSqlServer(Configuration.GetConnectionString("Melina")));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc();
}
}
}
Итак, все вкратце.Насколько я вижу, ViewStart определяет макет, который должен доставить настройку документа, а затем отобразить тело для доставки контента с домашней страницы.Дом имеет свой контроллер и метод, чтобы вернуть представление.Что мне не хватает?
Большое спасибо