国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

巧用VS2005解決VS2005網站發布不便問題

2024-07-21 02:29:04
字體:
來源:轉載
供稿:網友

  一、問題引入

  在vs2005網站開發過程中,網站發布問題一直是個問題.vs2005創建的網站有幾個默認的目錄:app_code,app_data,app_themes........

  如果是但cs/vb文件,比如uploadfile.cs類uploadfile,這個類文件沒有可視的aspx文件,那么這個文件就必須放到app_code目錄下,否則在vs2005網站中,該類是不可訪問的.那么放就放進去吧,但是編譯的時候(我的vs2005是team版的,生成沒有反應,感覺象是檢查了一遍代碼,只能使用發布網站來預編譯.不知道其他版本怎么樣.)問題來了.選擇發布網站后,它會讓你選擇以什么方式發布,一般選默認就可以了.那樣生成的dll數量還少點.發布后,在bin目錄一般會有app_code.compiled,app_code.dll,app_web_(隨機字符).dll,引用的dll等文件.問題就出在這了,如果要做個免虛擬的程序,豈不是可能bin目錄會需要放兩個app_code.dll?會不起沖突么?還有,如果程序更改一次需要重新發布,那就完了.看看vs2005干的好事吧.inherits="mycodegif, app_web_vf3ukhnv"本來好好的,一個mycodegif.aspx文件,一個mycodegif.aspx.cs文件,現在mycodegif.aspx文件繼承自mycodegif, app_web_vf3ukhnv,可以看出mycodegif是mycodegif.aspx.cs定義的類,app_web_vf3ukhnv是bin文件夾中的一個dll文件名.你再嘗試發布一次的話,更頭疼的問題來了,怎么mycodegif.aspx頁面又繼承自mycodegif, app_web_qwdwqd了?編譯后的程序集名字都不一樣了!

  二、asp.net中頁面與類的關系

  asp.net 中,頁面是可以繼承自類的,可以多重繼承。比如mycodegif.aspx頁面文件

<%@ page language="c#" autoeventwireup="true" codefile="mycodegif.aspx.cs" inherits="mycodegif" %>mycodegif.aspx.cs中是這樣的
using system;
using system.data;
using system.configuration;
using system.collections;
using system.web;
using system.web.security;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.webcontrols.webparts;
using system.web.ui.htmlcontrols;
using freecodenum;
public partial class mycodegif : system.web.ui.page
{
    protected void page_load(object sender, eventargs e)
    {
                  //.....邏輯
    }
}

  可見mycodegif.aspx頁面繼承自類mycodegif 也可以這樣繼承,mycodegif.aspx頁面文件

<%@ page language="c#" autoeventwireup="true" codefile="mycodegif.aspx.cs" inherits="mycodegif" %>

  mycodegif.aspx.cs中是這樣的

using system;
using system.data;
using system.configuration;
using system.collections;
using system.web;
using system.web.security;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.webcontrols.webparts;
using system.web.ui.htmlcontrols;
using freecodenum;
public partial class mycodegif : pagebase
{
    protected void page_load(object sender, eventargs e)
    {
                  //.....邏輯
    }
}

pagebase.cs這樣

using system;
using system.web;
using system.collections;
/**//// <summary>
/// pagebase 的摘要說明
/// </summary>
public class pagebase : system.web.ui.page
{
    public pagebase()
    {
        }
    }

  如過象我mycodegif.aspx頁面文件,我甚至可以

<%@ page language="c#" autoeventwireup="true" codefile="mycodegif.aspx.cs" inherits="pagebase" %>也就是頁面直接繼承自pagebase類。

  三、解決方案

  在vs2005中也是可以自定義程序集名稱的——那就是在創建項目的時候,而不是網站的時候。也就是說可以在你創建的網站已經寫好了,你可以重新創建個項目,然后把網站的代碼拿來重新編譯。便宜完后可能需要更改aspx文件的繼承,可能也不必更改,看你怎么便宜了,因為aspx文件的繼承只和類名(有命名空間時,也要指定命名空間)有關。mycodegif.aspx頁面文件完全可以改成

<%@ page language="c#" autoeventwireup="true"  inherits="pagebase" %>

  把里面的codefile="mycodegif.aspx.cs"去掉。

  這樣就能模仿vs2003的方式發布網站了。過程可能復雜點,但是對于后期維護我感覺還是挺有用的,畢竟習慣了vs2003.而且可以和2003一樣做免虛擬的程序了。

  全文完。希望能對大家有用。作者:謝平,夕陽軌跡

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 民县| 乾安县| 南和县| 泸水县| 新河县| 鸡西市| 吴桥县| 鲁山县| 延长县| 二连浩特市| 肇源县| 丹东市| 凯里市| 金门县| 武宣县| 惠州市| 夏邑县| 昔阳县| 星子县| 长岛县| 肥城市| 宣化县| 神池县| 瑞安市| 丹凤县| 宜城市| 兰考县| 汝州市| 巴彦淖尔市| 宝清县| 嵊泗县| 疏附县| 盐山县| 响水县| 同心县| 东辽县| 平潭县| 南昌市| 靖安县| 陆良县| 安陆市|