网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

编译asp.net 2.0项目到dll文件

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
令行状态,用如下的编译命令把ex1.cs编译成ex1.dll,并把它存放在bin目录下。

csc /t:library /out:bin\ex1.dll ex1.cs
可以但要写全路径
csc /t:library /out:j:\WebSite\WebTest\bin\ex1.dll
J:\WebSite\WebTest\App_Code\ex1.cs

    在配置文件web.config中添加aspx->dll映射,添加后,web.config应该是这样子的:

<?xml version="1.0"?>
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="dlltest1.aspx" type="DllTest.ex1Page,ex1" />
</httpHandlers>
</system.web>
</configuration>

    现在当浏览器访问时,实际上就是调用了ex1.dll中DllTest.Ex1Page类的ProcessRequest方法,在浏览中应该可以看到一个简单的页面。

    (三)把单个aspx文件编译成DLL

    从 上一节微软公开描述的"言外之意"来看,微软是不支持让开发人员直接把aspx文件编译成DLL的。然而,Asp.Net高级界面技术(服务端HTML控 件,WEB控件等等)都是需要通过aspx文件才能展现出来的,如果为了DLL的运行效率而放弃aspx的高级特性,则显然是得不尝失的。

    现在静下心来分析一下:

    csc编译器只是一个c#语言的编译器,它只能对符合语言规范的文件进行编译,而aspx文件的格式显然不符合c#语言规范,所以csc编译器是无法对aspx源文件进行编译的。

    因 此,要想把aspx文件编译成dll文件,必然要先把aspx文件转化成csc编译器能识别的cs源文件。那么用什么工具来进行转换呢?虽然我深信这个工 具一定是隐藏在。Net Framework里面,但在查阅了大量的Asp.Net及。Net的公开文档及参考手册,资料之后,仍找不到相关资料。

    呵呵,天无绝人之路,一个偶然的机会,还是让我发现了这个秘密。

    来看看源文件ex2.aspx:

 /* 源文件:ex2.aspx 开始 */
<% @ Page Language="c#" %>
<script runat="server">
/*你没看错,下一行就是"abcdefg",正是这一行,才让我有机会写出本篇文章^_^;在文中,我把这一行称作"代码陷阱"*/

abcdefg // 代码陷阱

void Page_Load(Object src, EventArgs args)
{
if( !IsPostBack ) NoteLabel.Text = "请输入您的姓名:";
}

    void OnNameSubmit(Object src, EventArgs args)
{
string name = f_Name.Value;
NoteLabel.Text = (name=="") ? "姓名不能为空" : name +",您好。欢迎光临!";
}
</script>
<html>
<body>
<form runat="server">
<h1>DllTest - Ex2(例2)</h1>
<hr>
<asp:label runat="server" id="NoteLabel" style="color:red; font-weight:bold" />
<input runat="server" id="f_Name" size="8">
<button runat="server" onserverclick="OnNameSubmit">确定</button>
</form>
</body>
</html>

/* 源文件:ex2.aspx 结束 */ 

    如果把"代码陷阱"注释掉或删掉,那么ex2.aspx就是一个简单的Asp.Net文件,用IE浏览此页面可以发现它能正常工作。

    现在让我们打开"陷阱",来看看Asp.Net到底返回了什么?

    返回的是一个"编译错误"的页面,报告源文件无法通过编译。让我们感兴趣的是该页面最下方的一个名为"显示完整的编译源"的超链接,点击些链接,就能看到这 个由ex2.aspx转换而来的cs源文件("完整的编译源")的完整内容。把这部分"完整的编译源"去掉前面的行号信息和其它的一些编译开关(主

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号