Как сохранить главную страницу ASP.NET в общей библиотеке? - PullRequest
4 голосов
/ 29 октября 2008

Мы хотели бы иметь несколько внутренних веб-приложений, которые используют одну и ту же главную страницу. Есть ли способ сохранить главную страницу в общей библиотеке, на которую ссылаются все проекты?

Ответы [ 4 ]

2 голосов
/ 29 октября 2008

Вы можете сделать это, но это сложно и имеет немало недостатков.

Этот процесс аналогичен упаковке пользовательских элементов управления. В основном у вас есть проект веб-приложения, который содержит вашу главную страницу. Вы можете предварительно скомпилировать это в набор dll, используя aspnet_compiler.

тогда вы можете использовать ilmerge.exe, чтобы поместить их всех в одну dll, на которую вы затем ссылаетесь из других ваших проектов.

Вам все еще нужно иметь разметку, чтобы ваши страницы правильно отображались в конструкторе, поэтому вам, вероятно, придется также изучить VirtualPathProviders.

Это грязное решение и у него много недостатков.

0 голосов
/ 27 августа 2009

Надеюсь, это поможет Совместное использование главной страницы приложения

Наслаждайтесь ..:)

0 голосов
/ 29 октября 2008

Учитывая, что эти модули являются частью одного и того же веб-приложения, вы должны взглянуть на этот подход:

По сути, у вас есть один корневой веб, который настроен как (единственное) веб-приложение IIS. Вы можете подключать новые веб-модули, создавая проекты веб-приложений ASP.NET и физически размещая их в корневой сети. Установите каталог для сборки в корневую корзину, например, ".. \ Bin". Не создавайте приложение IIS / виртуальный каталог.

Таким образом, каждый веб-модуль компилируется в свою собственную DLL, что само по себе хорошо. При компиляции он «сливается» с корневой сетью.

Это отличный способ делиться мастер-страницами и пользовательскими элементами управления, а также иметь разные части веб-сайта в разных проектах / сборках. Главные страницы и пользовательские элементы управления будут работать даже в режиме дизайна.

0 голосов
/ 29 октября 2008

Я слышал, что это работает, я не проверял.

Создайте отдельный проект для размещения своих главных страниц, поскольку все главные страницы похожи на пользовательские элементы управления и встроены в свою отдельную сборку. Запустите сборку и попробуйте ссылаться на сборку главной страницы.

Опять же, не проверено, просто то, что я читал раньше.

Удачи с этим!

...