zoukankan      html  css  js  c++  java
  • [ZT]将.aspx文件和图片编译进dll

       
    以前曾在CSDN论坛看到有人问如何将.aspx页面也编译进dll,当时做了解答。后来觉得也许还会有人要用,所以最近就把文章整理一下。

    大家可以去看看做好的dll
    http://www.bestaspx.net/down/allindll.zip

    先简要说一下方法:

    一、取得.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文件名查看效果。

    因为是很久以前的试验了,现在是凭记忆写的,所以比较乱,如果有问题可以联系我。

  • 相关阅读:
    leetcode------Sum Root to Leaf Numbers
    TesserOCR训练
    【转载】C#.Net 创建网页快捷方式
    错误:没有为扩展名“.html”注册的生成提供程序。
    【转载】错误 CS0016: 未能写入输出文件“c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/.........dll”--“拒绝访问。 ”
    [转载]ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结
    [转载]ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结
    [转载]AFX_MANAGE_STATE关于资源切换
    OD鲜为人知的小技巧--搜索通配符(关键字)
    【转载】汇编跳转指令集
  • 原文地址:https://www.cnblogs.com/godwar/p/1085667.html
Copyright © 2011-2022 走看看