Я пытаюсь настроить проект с ASP.NET MVC WebApi и интерфейсом Angular 6. Проект должен быть нацелен на .NET 4.6.1, так как у меня нет кроссплатформенных требований. Тем не менее, я хочу использовать шаблон базового проекта .NET, так как в нем есть несколько характеристик, которые мне нужны для моей процедуры разработки и развертывания:
- Нет явного управления файлами в VS, т.е. мне не нужно добавлять / удалять файлы в VS. Структура проекта идентична файловой структуре на диске и обновляется в реальном времени
- Каталог wwwroot, который по умолчанию используется IIS в качестве корня приложения
- Хорошая организация ссылок, включая пакеты npm
Пока что я настроил большую часть его, используя основной шаблон проекта ASP.NET из Visual Studio. Я сделал следующее:
- Создать проект из шаблона VS
- Изменена цель с
netcoreapp2.1
на net461
- Удалены ссылки на ядро .NET и добавлены сборки ASP.NET MVC
Удалены все классы запуска, относящиеся к .NET Core
Рефакторинг моего кода (контроллеры API для классов .NET 4.6.1, т.е. IHttpActionResult
(.NET 4.6.1 вместо ActionResult
(ядро .NET)
Нет, мне нужно восстановить загрузчик приложения, и я застрял. Я создал файл global.asax, как в обычном приложении ASP.NET. При сборке компилятор выдает ошибку, что Program.cs
не содержит статический метод Main()
в качестве точки входа (что имеет смысл, поскольку я удалил его на шаге 4).
Далее я попытался создать точку входа, которая запускает приложение, определенное в global.asax.cs
:
public class Program
{
public static void Main(string[] args)
{
var application = new WebApiApplication();
application.Init();
Console.ReadLine();
}
}
с global.asax.cs:
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
Приложение компилируется и запускается. Браузер запущен. Тогда ничего не происходит.
Мой главный вопрос:
Как мне провести рефакторинг точки входа проекта .NET Core ASP после изменения цели на .NET 4.6.1?
Я на правильном пути с моим подходом? Я благодарен за ответы, а также за ссылки на ресурсы, которые объясняют тему.
и связанных с ним:
Является ли, с учетом моих требований выше, правильным способом переназначения основного приложения .NET в .NET 4.6.1 для получения структуры и поведения основного проекта .NET в Visual Studio?