Невозможно найти представления только после публикации проекта ASP.NET Core MVC.C#

Место общения программистов C#
Ответить
Anonymous
 Невозможно найти представления только после публикации проекта ASP.NET Core MVC.

Сообщение Anonymous »

После установки .NET 8 я больше не могу публиковать .NET 7 и запускать их. Это проекты ASP.NET Core 7 MVC, и они прекрасно работают в режиме отладки через Visual Studio, но не запускаются сразу после публикации в IIS.
Ошибка заключается в том, что сайт не может найти просмотры. Я пробовал решения, описанные здесь, здесь и в других местах, включая изменение .csproj и т. д. Я использую Visual Studio 17.9.1, приложение написано на .NET 7, и до тех пор, пока не будет установлен .NET 8. , заработало без проблем.
Изображение

Это мой профиль публикации (не менявшийся с момента его последней работы), который я добавил
builder.Services.AddControllersWithViews().AddRazorRuntimeCompilation();

Все представления настроены на контент и т. д. Я пробовал добавлять новые представления, проверять выходные данные и т. д. Чего мне не хватает?
Вот мой .csproj и моя программа.cs:



%24/BCC/yyy/yyyMvc
{4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
xxx
.



net7.0
true
true
false
enable
enable


true






all
runtime; build; native; contentfiles; analyzers; buildtransitive














using yyyMvc.Classes;
using yyyMvc.Middleware;
using Microsoft.Data.SqlClient;
using NLog;
using NLog.Web;
using ProjectBase;
using System.Data;

Logger logger = NLog.LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger();

try
{
// *********************************
// BUILDER
// *********************************
var builder = WebApplication.CreateBuilder(args);

builder.Logging.ClearProviders();
builder.Host.UseNLog();

// Add services to the container.
builder.Services.AddControllersWithViews().AddRazorRuntimeCompilation();

// Session
builder.Services.AddHttpContextAccessor();
builder.Services.AddSingleton();
builder.Services.AddScoped();
builder.Services.AddSession();

// app settings
builder.Services.Configure(builder.Configuration.GetSection("AuthenticationSettings"));
builder.Services.AddSingleton(db => new SqlConnection(
builder.Configuration.GetSection("ConnectionStrings").GetValue("Test") ??
throw new Exception("Missing connection string")) { });
builder.Services.Configure(builder.Configuration.GetSection("LoggingSettings"));
builder.Services.Configure(builder.Configuration.GetSection("SiteSettings"));

// *********************************
// APP
// *********************************
var app = builder.Build();

// Error is first middleware
app.UseMiddleware();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// 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.UseCookiePolicy();

// Get authentication prepared, with sessions
app.UseSession();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();

// Logging middleware, must be after Cookies / Session, must be before MVC routing
ConfigWeb.LoggingSettings loggingSettings = new ConfigWeb.LoggingSettings();
builder.Configuration.GetSection("LoggingSettings").Bind(loggingSettings);
if (loggingSettings.DataViewLogging)
{
app.UseMiddleware();
}

// No map MVC
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");

app.UseStaticFiles();
app.Run();

}
catch (Exception ex)
{
// NLog: catch setup errors
logger.Error(ex, "Stopped program because of exception");
throw;
}
finally
{
// Ensure to flush and stop internal timers/threads before application-exit (Avoid segmentation fault on Linux)
NLog.LogManager.Shutdown();
}


Подробнее здесь: https://stackoverflow.com/questions/780 ... vc-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»