Как создать пакет NuGet из проектов библиотеки классов и предварительно скомпилированных представлений? - PullRequest
0 голосов
/ 02 апреля 2019

Я использую MVC 5 в Visual Studio 2017. В настоящее время мое решение VS выглядит следующим образом

  • Решение
    • MVC App
    • Компоненты (библиотека классов)
    • Модуль пользовательского представления (библиотека классов)

Теперь я создал модели в библиотеке компонентов. Эти модели используются в представлениях приложения MVC. Я настроил приложение MVC для предварительной компиляции представлений во время публикации с «Объединить все выходные данные в одну сборку» и пометил «Считать компонентом библиотеки».

Компоненты проекта ссылаются на приложение MVC (чтобы использовать его в представлениях). Пользовательский механизм просмотра также ссылается на приложение MVC (чтобы отметить (в AssemblyInfo), что эта библиотека содержит пользовательские представления).

Когда я публикую приложение MVC, оно компилирует все представления в одну библиотеку.

Но я хочу создать пакет NuGet из проекта Components и представлений. Как мне это сделать? Есть ли возможность автоматизировать это?

1 Ответ

0 голосов
/ 02 апреля 2019

Хотя NuGet имеет функциональные возможности для упаковки проекта, он использует выходные данные компилятора, а не выходные данные издателя, и автоматически добавляет все типы MSBuild Content, которые могут быть нежелательны в вашем случае (я понятия не имею, как работают предварительно скомпилированные представления).

В любом случае, вы всегда можете создать .nuspec файл и заставить его упаковать выходные данные команды публикации.В конце страницы документации есть несколько полных примеров из nuspec файлов.

Прошло много времени с тех пор, как я работал над проектом ASP.NET, но моя память такова, чтоMVC только автоматически обнаруживает контроллеры MVC и виды бритвы из «основной» сборки.Если у вас есть дополнительные контроллеры или представления в ссылке на проект или в пакете nuget, вам может понадобиться зарегистрировать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...