Я попробовал несколько разных способов настроить этот проект, и каждый из них потерпел неудачу.Вот мои проблемы.
- Использование командных подсказок для создания этих проектов, как указано в этой статье 1005 *, имеет один существенный недостаток: если вы сгенерируете их, а затем откроете в VS 2019,Вы можете запустить его из коробки, никаких проблем.ВТОРОЕ, когда вы добавляете файл, вам будет предложено сохранить файл решения, после этого произойдет сбой всего решения, и вы больше не сможете его запускать .... поэтому эта опция кажется скрытой.
- Я пыталсясоздайте приложение .net core 3 с VS 2019, превратив его в приложение WebAPI.После этого я зашел в корневой каталог и в командной строке написал: npx клиент create-реакции-app , который, как оказалось, правильно создал проект.После этого я зашел в файл startup.cs и добавил элементы спа, необходимые для его запуска (добавлен пакет NuGet Microsoft.AspNetCore.SpaServices.Extensions)
Вот мой код startup.cs:
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.AddMvc().AddNewtonsoftJson();
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "client/build";
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseRouting(routes =>
{
routes.MapControllers();
});
app.UseSpa(spa =>
{
spa.Options.SourcePath = "client";
if (env.IsDevelopment())
{
spa.UseReactDevelopmentServer(npmScript: "start");
}
});
app.UseAuthorization();
}
}
Когда я запускаю это, строка, в которой spa.UserReactDevelopmentServer (npmScript: "start") продолжает выдавать ошибку.Ошибка:
{"Метод не найден: 'Void Microsoft.Extensions.Logging.Console.ConsoleLogger..ctor (System.String, System.Func`3, Boolean)'."}
Кто-нибудь знает, как создать .NET Core 3.0 WebAPI с внешним интерфейсом React (не версия сценария типа), который будет запускать React при нажатии кнопки воспроизведения (зеленая кнопка продолжения в VS 2019) И все еще иметьчасть API работает при его вызове.Ради Бога, это не должно быть так сложно !!