我有一个ASP.NET网站项目,其中包含可更新的页面和不会更改的页面。
我是否可以预编译某些包含不会更新的页面/控件的目录?
如果是这样,我怎么能这样指定这些目录呢?
修改2009.12.17
我的项目结构如下:
/ cms_pages ==>可更新的.aspx页面标记为CompilationMode =“never”,没有代码文件。
/ app_pages ==>带有.aspx.cs代码文件的.aspx页面。
/ controls ==> .ascx控制.ascx.cs代码文件。
我想“预编译” app_pages 和控件文件夹。
有可能吗?
答案 0 :(得分:0)
并非没有太多令人头疼的问题。你现在如何预编译页面?他们必须在WAP中才能使用...所以你不想要预先编译的任何东西都会离开项目。
[编辑]
可以手动调用asp.net编译器。但我不推荐这个。您真正需要做的是将您的解决方案文件分成不同的项目...将您想要预编译的文件放入Web应用程序项目或只是常规类库。然后在您的网站上添加对此WAP的项目引用。
答案 1 :(得分:0)
你想用他们的代码文件编译ASPX页面还是只编译App_Code文件夹中的一些.cs文件?
如果您只是尝试对某些静态函数或全局对象进行版本控制,则可以编译DLL以保留在App_Code文件夹中。
答案 2 :(得分:0)
难道你不能将所有控件(可能还有其他任何东西)预编译到一个程序集中,然后你可以通过myAssembly.myControl访问它们
Dim assembly As Reflection.Assembly = Reflection.Assembly.LoadFrom(Server.MapPath(Virtual path to assembly))
将myControlType调暗为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 )
希望这会有所帮助..