Использование одного и того же кода в разных решениях MVC

Я использую asp.net mvc 3 и .net framework 4.0 с С #

Допустим, у меня есть html-код NivoSlider (слайдер). Также в нем есть js, css и файлы изображений.

Я хочу использовать код cshtml NivoSlider и js / css / images как «проект» и хочу добавить его в различные решения MVC. Он каким-то образом станет плагином.

Я не могу сделать это частичным просмотром, потому что мне нужно переместить все файлы css, js и imges в новое решение. Я посмотрел на "области mvc", но он не отображает мои файлы js и css (на самом деле; использование "областей" - не лучший способ, как вы знаете) ... Я просмотрел несколько архитектур на основе плагинов, но ни одного - из них легко реализовать. У меня мало времени.

Итак, как я могу решить эту проблему?

РЕДАКТИРОВАТЬ: Я могу использовать этот http://razorgenerator.codeplex.com/ - Но ищу другие решения, если вам в голову пришла идея ...


person Lost_In_Library    schedule 27.07.2013    source источник


Ответы (4)


Вы можете создать частный Nuget и создать для него небольшую установку. Таким образом, вы можете устанавливать, обновлять и удалять прямо из пакета.

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

person nathas    schedule 01.08.2013
comment
Это один из способов сделать это. Большое Вам спасибо. Любое другое предложение? Кто-нибудь ? - person Lost_In_Library; 02.08.2013
comment
+1, поскольку мы используем этот метод и храним общие элементы nuget в общей сетевой папке. - person Dr Rob Lang; 07.08.2013

Я использую генератор бритвы в коммерческом проекте, и он работает, но не идеален.

Другие возможности, которые я рассмотрел, - это Добавить файлы как ссылку (см. Ответ Nameless One)

Также переопределение ViewEngine Могу ли я указать настраиваемое расположение для поиска представлений в ASP.NET MVC?

Или даже символические ссылки (быстрые ссылки на папки в Windows) https://superuser.com/questions/234422/does-windows7-support-symbolic-links-folder-shortcuts.

person Kaido    schedule 02.08.2013

Как рекомендовано выше, представления Razor могут быть встроены в сборку как скомпилированный класс (с помощью Razor Generator). Статические ресурсы, такие как .html, .js, .png, могут быть расположены в сборке как встроенный ресурс и обслуживаются приложением через VirtualPathProvider (настраиваемый или используйте существующий, например https://github.com/mcintyre321/EmbeddedResourceVirtualPathProvider)

person pakeha_by    schedule 03.08.2013

Скомпилируйте свои представления asp.net mvc Razor в отдельную dll

Я хотел иметь возможность встраивать скомпилированные представления Razor в dll. Это позволит легко распространять «модули» asp.net mvc, которые имеют встроенные представления по умолчанию, но позволяет помещать файлы в папку «views», чтобы переопределить эти представления по умолчанию.

http://www.chrisvandesteeg.nl/2010/11/22/embedding-pre-compiled-razor-views-in-your-dll/

person zandi    schedule 07.08.2013