Предварительная компиляция определенных каталогов в проекте веб-сайта ASP.NET - PullRequest
1 голос
/ 14 декабря 2009

У меня есть проект веб-сайта ASP.NET, который содержит смесь обновляемых страниц и страниц, которые не меняются.

Могу ли я предварительно скомпилировать определенные каталоги, содержащие страницы / элементы управления, которые не будут обновляться?

Если так, как я могу обозначить эти каталоги как таковые?

Изменить 2009.12.17

Мой проект структурирован так:

/ cms_pages ==> Обновляемые .aspx страницы помечены CompilationMode = "never" и без кода.

/ app_pages ==> .aspx страницы с файлом кода .aspx.cs.

/ controls ==> .ascx управляет файлом кода .ascx.cs.

Я бы хотел "предварительно скомпилировать" папки app_pages и .

Можно ли это сделать?

Ответы [ 3 ]

0 голосов
/ 15 декабря 2009

Хотите ли вы скомпилировать страницы ASPX с их кодовыми файлами или просто скомпилировать некоторые файлы .cs в папке App_Code?

Если вы просто пытаетесь управлять версиями некоторых статических функций или глобальных объектов, вы можете скомпилировать DLL, чтобы сохранить ее в папке App_Code.

0 голосов
/ 10 мая 2010

Не могли бы вы просто предварительно скомпилировать все элементы управления (и, возможно, все остальное) в сборку, тогда вы можете получить к ним доступ через myAssembly.myControl

 Dim assembly As Reflection.Assembly = Reflection.Assembly.LoadFrom(Server.MapPath(Virtual path to assembly))

Dim myControlType As Type = assembly.GetType Dim myControl As UserControl = LoadControl (myControlType, Nothing) myPanel.Controls.Add (myControl)

Или

Dim myControl As Control = LoadControl(virtual path to control)
myPanel.Controls.Add(myControl )

Надеюсь, это поможет ..

0 голосов
/ 15 декабря 2009

Не без головной боли. Как вы прекомпилируете страницы сейчас? Они должны быть в WAP, чтобы это работало ... поэтому все, что вы не хотите предварительно скомпилировать, просто исключите из проекта.

[Изменить]

Можно вручную вызвать компилятор asp.net. Но я не рекомендую это. Что вам действительно нужно сделать, так это разделить файлы решений на разные проекты ... поместить файлы, которые вы хотите предварительно скомпилировать, в проект веб-приложения или просто в обычную библиотеку классов. Затем на своем веб-сайте добавьте ссылку на проект для этого WAP.

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