Я только что установил Visual Studio 2019 (v16.4.3, немедленно обновлен до 16.4.4). В моей системе установлен VS2017, но предыдущих версий VS2019 нет.
Я создал новый проект приложения Blazor. Он автоматически создал Index, Counter и другие страницы. Он был создан как приложение. NET Core 3.1 (поскольку 3.1 теперь автоматически устанавливается с VS2019 v16.4 и более поздними версиями).
Я буквально следую за этой страницей «Начало работы»:
https://docs.microsoft.com/en-us/aspnet/core/blazor/get-started?view=aspnetcore-3.1&tabs=visual-studio
Я запускаю приложение без изменений по сравнению с тем, что было сгенерировано. Нажатие кнопки на странице счетчика ничего не делает. В окне «Вывод отладки» я не вижу сообщений, которые бы имели какие-либо связи.
Я провел несколько поисков и нашел сообщения о похожих проблемах, но решения, похоже, не применяются.
Есть идеи, что не так? (Это НАСТОЛЬКО раздражает, когда недавно сгенерированный, неизмененный проект не работает!)
Код для страницы Counter был сгенерирован как:
@page "/counter"
<h1>Counter</h1>
<p>Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
private int currentCount = 0;
private void IncrementCount()
{
currentCount++;
}
}
_Host.cs html:
@page "/"
@namespace ToDoList.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ToDoList</title>
<base href="~/" />
<link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
<link href="css/site.css" rel="stylesheet" />
</head>
<body>
<app>
<component type="typeof(App)" render-mode="ServerPrerendered" />
</app>
<div id="blazor-error-ui">
<environment include="Staging,Production">
An error has occurred. This application may no longer respond until reloaded.
</environment>
<environment include="Development">
An unhandled exception has occurred. See browser dev tools for details.
</environment>
<a href="" class="reload">Reload</a>
<a class="dismiss">?</a>
</div>
<script src="_framework/blazor.server.js"></script>
</body>
</html>
Обновление:
По комментариям:
- Я перезагрузил свой компьютер
- Зашел прямо в VS2019 и создал новый проект. Выбранное приложение Blazor. Принимаются все значения по умолчанию. Итак, в итоге появился проект под названием BlazorApp1.
- Нажмите F5, чтобы запустить его. Те же результаты. При нажатии на кнопку «Нажми меня» Счетчик ничего не делает.
Все содержимое BlazorApp1.csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
Обратите внимание, что ссылка «Начать работу», за которой я следую, специально говорит использовать. NET Core 3.1 (против 2.1). Он говорит, что НЕОБХОДИМО обновить обновление до версии 3.2, но это необходимо, только если я хочу выполнить Blazor WebAssembly (чего я не делаю). Я предпочитаю только выпускать код в моей системе, поэтому я не хочу обновлять до 3.2 Preview для чего-то, что должно работать с 3.1.