现在的位置: 首页 > 综合 > 正文

升級VS.Net2003 至VS.Net2005方法

2011年07月04日 ⁄ 综合 ⁄ 共 2218字 ⁄ 字号 评论关闭

升級過程簡要描述:
 1、 備份要升級的項目。
 2、在VS 2003下編譯要升級的項目,確認無編譯錯誤。
 3  如原先有原碼管理一定要先解除,並確認所有目錄下文件非只讀
 4、用VS 2005打開要升級的項目,並通過升級嚮導進行升級。
     我在升級前刪除的所有的資源文件(*.resx)和當時用CrystalReport時自動生成的Rpt文件的CS文件,XSD文件的相關CS文件。
  5、將升級後的Web項目轉變為Visual Studio 2005 Web Application Projects:
 
  6、如果Web項目的服務器設置缺省Asp.net版本非2.0版,將其更改為2.0版。

  更改Web項目中頁面內容
  VS.2005中原先的Codebehind文件的使用方式已摒棄,改用代碼分離模式 CodeFile="xxxx.aspx.cs" 如原先代碼中有定義頁面基類,須增加CodeFileBaseClass="基類名稱"
  在VS.2005中由於不在在aspx頁面的codebehind文件中保留頁面控件和事件的定義,控件定義改在編譯時產生,事件採用在頁面中指定採用的事件處理方法
  所以  1. 將頁面所對應的後台類文件
 2. 原有代碼如果有更改了控件的存取修飾詞,則須改回,採用別的方式處理
    如對於某個用戶控件中的控件缺省為protected類型,如當時有更改成public類型,需更改回
        2. 刪除原有頁面中關於控件聲明的代碼
        3. 刪除原先在InitializeComponent中頁面自動生成的Page_Load等事件定義代碼,更改事件定義至頁面代碼中,並將事件處理方法的聲明更改為protected類型
           在頁面對應控件中增加相應事件聲明 OnClick="btnAdd_Click"
 

  在2005中不在支持水晶報表文件類的直接應用,如原先採用xxxbaobiao objBaoBiao=new xxxbaobiao 方式使用的均需更改成
 ReportDocument objBaoBiao=new ReportDocument; objBaoBiao.Load(Server.MapPath("xxxbaobiao.rpt"));
  將報表所使用的xsd文件移動至App_Code下與Web路徑相應的目錄下

多語言環境的更新
1. 在asp2.0的Web 項目下建立一個App_GlobalResources目錄
2. 將原先在asp.net1.1版中定義的資源文件類中的相關resx文件copy 至2.0版中的App_GlobalResources目錄中
3. 更改原先asp.net1.1版中的資源文件寫法
 private Assembly objAsm;
 private ResourceManager objResourceManager;
        objAsm = Assembly.Load("Resource");
        objResourceManager = new ResourceManager("Resources.Resource",objAsm);
    將其更改為如下
 private ResourceManager objResourceManager;
 objResourceManager = Resources.Resource.ResourceManager;
 其中 Resources.Resource.ResourceManager的"Resource"為你所起的資源文件名
 注:
 在VS.Net2005下由於 ASP.NET 使用強型別編譯全域資源,因此您也可以使用強型別 (Strongly Typed) 成員取得全域資源,所以可以採用更簡單的方式去訪問資源文件
        如:  Resources.Resource.資源名稱
        對於在後台代碼中訪問資源文件可採用
 HttpContext.GetGlobalResourceObject (String classKey, String resourceKey)或
 HttpContext.GetLocalResourceObject (String classKey, String resourceKey)
 方法獲取IE用戶缺省語言設定所對應的全局資源或頁面等級資源值
 如全局資源文件為Resource.zh-CN.resx,Resource.resx,可採用如下方法獲取
 string strResourceName = HttpContext.GetGlobalResourceObject("Resource","資源對象Key")

如果想在業務類中使用App_GlobalResources目錄下資源文件可採用如下方法
                Assembly objAsm = Assembly.Load("App_GlobalResources");
                ResourceManager objResourceManager = new ResourceManager("Resources.Resource", objAsm);
定義所需的ResourceManager
在使用時即可調用相應方法 objResourceManager.GetString("name"),objResourceManager.GetObject("name")獲取所需資源內容

 

抱歉!评论已关闭.