Как вернуть представление из другого проекта в ASP NET Core?

У меня есть простой метод контроллера для тестирования:

[HttpGet]
public IActionResult Test()
{
    return View("SomeView");
}

Предположим, я хочу создать пакет NuGet, который возвращает представление с именем SomeView, но это представление может быть реализовано пользователем моего пакета NuGet. Как я могу это сделать? Это возможно?

Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
0
0
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы действительно задаете два отдельных вопроса здесь. Один касается доступа к представлениям, которые не находятся в том же проекте, что и контроллер, и второй вопрос о создании пакета Nuget.

  1. Прочтите этот ответ SO, чтобы узнать, как получить доступ к представлениям в другом проекте.

  2. Как только вы освоитесь с этим, вы можете превратить этот другой проект в пакет Nuget. Существует множество статей, объясняющих, как это сделать. Если у вас есть конкретная проблема с этим, начните новый вопрос здесь.

Вопрос, на который вы ссылаетесь, относится к ASP.NET 3/4, который намного старше (и сильно отличается от) ASP.NET Core, поэтому он не поможет OP. Этот более подходящий: stackoverflow.com/questions/62817693/…

Dai 19.11.2022 23:42

@Дай А, хорошо замечено. В любом случае, я все еще чувствую, что здесь есть два совершенно разных вопроса, и что есть много информации о том, как решить оба.

Avrohom Yisroel 19.11.2022 23:46

Я попробовал решение с помощью AddApplicationPart, и кажется, что оно не работает. Я создал образцы проектов для тестирования, один из них имеет HomeController, и это мой пакет nuget. В проекте, где я установил этот пакет nuget, у меня такой запуск: pastebin.com/MKJGCcZ1 и вместо исключения о том, что у меня нет View, я получаю 404 not found. Что я сделал не так?

Szyszka947 23.11.2022 22:11

Извините, проблема была в другом. Это решение с частями приложения работает очень хорошо, но проблема была в том, что я всегда упаковывал свой проект как одну и ту же версию. Это привело к тому, что менеджер пакетов nuget все время использовал старую версию пакета (даже если она уже была удалена и заменена другой), несмотря на то, что пакет был изменен. Спасибо за помощь!

Szyszka947 24.11.2022 09:22

Другие вопросы по теме