先簡要說一下方法: 一、取得.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文件名查看效果。 因為是很久以前的試驗了,現在是憑記憶寫的,所以比較亂,如果有問題可以聯繫我。
|
|