将.aspx文件和图片编译进dll(2)

将.aspx文件和图片编译进dll
日期:2005年4月14日 作者:模板天下收集整理 人气:<script src="../Hits.asp?ArticleID=4166" type="text/javascript"> </script> 45 查看:[大字体 中字体 小字体]<script src="../inc_script/article_ads_view_500x.js" type="text/javascript"> </script>
 
<script src="../inc_script/article_ads_view_250x180.js" type="text/javascript"> </script>
先简要说一下方法:
一、取得.aspx页面类的源代码
在C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files目录下可看到你的站点和虚拟目录名,点进去就能找到你的页面类,但注意这个页面类的名字跟你原来的名字没多大联系,你也可以通过陷阱直接在错误页中找到:
源文件: c:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/root/6e5a7fb1/54c3fdeb/ehrvxfn5.0.cs    行: 90 
(在aspx页面任意位置添加即可设置陷阱,取得编译源文件)
二、编译

通过上面得到源文件,注释掉依赖项:如
//dependencies.Add("W://wwwroot//dlltest//ex2.aspx");
然后编译

方法一

打开VS,新建一个WEB项目,将这些页面类包含进来并注释掉页面依赖项,将图片的编译类型设置为嵌入即可。

方法二
没有VS的可以用csc/vbc编译器完成编译,关于如何用编译器编译项目可以参照:http://www.bestaspx.net/Articles/Show.aspx?ArticleID=21

当然图片也是可以打包进去的,这样所有的东东都打进dll了
下面要简单说一下如何在命令行将图片编进dll
用sdk 中自带的C:/Program Files/Microsoft Visual Studio .NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/resxgen
resxgen.exe /i:logo.gif /o:test_res.resx /n:logo
得到资源文件test_res.resx,就可以在命令行引用资源编译了。
不能得到resxgen的可以到这里下载:http://www.bestaspx.net/down/ResXGen.zip
源码:http://www.bestaspx.net/down/ResXGen_Src.zip

那么项目中如何使用资源文件呢,诸位请看:
Assembly myAssem = Assembly.GetExecutingAssembly();
ResourceManager rm = new ResourceManager( "名字空间.test_res", myAssem );
System.Drawing.Image objGraphics = ( System.Drawing.Image )rm.GetObject("logo");
objGraphics.Save( Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif ); 
objGraphics.Dispose();
三、建立aspx到dll的映射

在Asp.Net应用程序配置文件web.config的system.web节的httpHandlers节添加aspx到dll的映射项,语法如下:
<add verb="*" path="aspx文件名" type="类名,dll文件" />
四、测试
通过以上3步,就已完成了所有的工作,下面就测试一下,打开IE,输入
http://localhost/虚拟目录名/aspx文件名查看效果。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值