日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
VisualStudio2005的那些事兒

【獨(dú)家特稿】2010年4月12日是微軟Visual Studio 2010正式版發(fā)布的日子。作為Visual Studio的用戶(hù),您是否還記得自己使用的第一個(gè)Visual Studio版本?是否還記得CODE出第一段代碼時(shí)的興奮?是否還記得那無(wú)數(shù)個(gè)尋找Bug的日日夜夜?開(kāi)發(fā)頻道帶您一起走進(jìn)Visual Studio歷史,今天我們要介紹的是——Visual Studio 2008。

成都創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供渝北企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站建設(shè)、做網(wǎng)站、html5、小程序制作等業(yè)務(wù)。10年已為渝北眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)的建站公司優(yōu)惠進(jìn)行中。

前言:4月份就要發(fā)布Visual Studio2010了,它的Beta2版我已經(jīng)從網(wǎng)上下載下來(lái)嘗鮮了,對(duì)于普通開(kāi)發(fā)人員來(lái)說(shuō),VS2010與時(shí)俱進(jìn)地增加了很多新的特性以適應(yīng)新的開(kāi)發(fā)要求,比如增加了多定向支持、并行計(jì)算和云計(jì)算等,并且在VS2010中也針對(duì)VC++做了很大的支持。

作為一個(gè).NET開(kāi)發(fā)人員,我經(jīng)歷了支持.NET開(kāi)發(fā)的VS的各個(gè)版本。下面一個(gè)開(kāi)發(fā)人員的角度來(lái)談?wù)勎覍?duì)Visual Studio 2005的感受。

記得最早我練習(xí)ASP.NET是用Dreamweaver來(lái)練習(xí)的,C#代碼和HTML都在一個(gè)ASPX頁(yè)面中,很不方便管理。后來(lái)別人向我介紹了VS2002,這是第一個(gè)支持.NET開(kāi)發(fā)VS開(kāi)發(fā)工具,它所支持的.NET版本是.NET 1.0。它采用了網(wǎng)頁(yè)與代碼分離的模式,是開(kāi)發(fā)人員可以將主要注意力放在業(yè)務(wù)邏輯處理上,大大提高了開(kāi)發(fā)速度。

Visual Studio 2002推出沒(méi)多久微軟就推出了Visual Studio 2003,Visual Studio 2003支持的.NET版本是.NET 1.1,普通的開(kāi)發(fā)人員可能都不知道Visual Studio 2002與Visual Studio 2003及.NET 1.0與.NET 1.1之間有哪些區(qū)別。

Visual Studio 2005的當(dāng)年的推出讓大家馬上感覺(jué)到有很大的變化,有點(diǎn)耳目一新的感覺(jué)。

在編程語(yǔ)法特性上增加了泛型、可空類(lèi)型等。

泛型

在Visual Studio 2005以前即使遇到特定集合類(lèi)型,也只能使用通用的集合類(lèi)型來(lái)存儲(chǔ),這樣一來(lái)在集合中存取值類(lèi)型數(shù)據(jù)時(shí)存在著裝箱和拆箱過(guò)程,而且由于在.NET1.1中集合類(lèi)型被設(shè)計(jì)成用來(lái)存儲(chǔ)object對(duì)象,所以無(wú)法對(duì)存入的數(shù)據(jù)的類(lèi)型進(jìn)行保證,在Visual Studio 2005中這個(gè)得到了解決,那就是泛型集合。

例如,在Visual Studio 2003中的實(shí)現(xiàn):

 
 
 
 
  1. /// 
  2. /// 使用ArrayList的例子
  3. /// summary>
  4. public void ArrayListDemo()
  5. {
  6.     //聲明一個(gè)集合,只存儲(chǔ)int類(lèi)型數(shù)據(jù)
  7.     ArrayList integerList = new ArrayList();
  8.     integerList.Add(1);//沒(méi)有問(wèn)題
  9.     integerList.Add("one");//可以添加
  10.     for (int i = 0; i < integerList.Count; i++)
  11.     {
  12.         int value = (int)integerList[i];//對(duì)第二個(gè)數(shù)操作時(shí)會(huì)拋出異常
  13.     }
  14. }
  15. 在Visual Studio 2005中的實(shí)現(xiàn):
  16. /// 
  17. /// 使用泛型集合的例子
  18. /// summary>
  19. public void ListDemo()
  20. {
  21.     //聲明一個(gè)只存儲(chǔ)int類(lèi)型數(shù)據(jù)的泛型集合
  22.     List integerList = new List();
  23.     integerList.Add(1);//沒(méi)有問(wèn)題
  24.     //integerList.Add("one");//此句不能編譯通過(guò)
  25.     for (int i = 0; i < integerList.Count; i++)
  26.     {
  27.         int value = integerList[i];//此處無(wú)需做類(lèi)型轉(zhuǎn)換
  28.     }
  29. }

using關(guān)鍵字

using關(guān)鍵是用引入命名空間之外,在Visual Studio 2005中還可以用來(lái)釋放一些實(shí)現(xiàn)了IDisposable接口的類(lèi),using 語(yǔ)句按照正確的方式調(diào)用對(duì)象上的 Dispose 方法,并(在您按照前面所示方式使用它時(shí))會(huì)導(dǎo)致在調(diào)用 Dispose 時(shí)對(duì)象自身處于范圍之外。在 using 塊中,對(duì)象是只讀的并且無(wú)法進(jìn)行修改或重新分配。using 語(yǔ)句確保調(diào)用 Dispose,即使在調(diào)用對(duì)象上的方法時(shí)發(fā)生異常也是如此。通過(guò)將對(duì)象放入 try 塊中,并在調(diào)用 finally 塊中的 Dispose,可以獲得相同的結(jié)果;實(shí)際上,這就是編譯器轉(zhuǎn)換 using 語(yǔ)句的方式。

比如執(zhí)行對(duì)數(shù)據(jù)庫(kù)的增刪改查操作,在Visual Studio 2005以前我們可能會(huì)這么寫(xiě):

 
 
 
 
  1. /// 
  2. /// 執(zhí)行Update/Delete/Insert類(lèi)型的SQL語(yǔ)句,并返回受影響的行數(shù)
  3. /// summary>
  4. /// 要執(zhí)行的Update/Delete/Insert類(lèi)型的SQL語(yǔ)句param>
  5. /// 執(zhí)行SQL語(yǔ)句的類(lèi)型,如是文本型還是存儲(chǔ)過(guò)程param>
  6. /// 執(zhí)行存儲(chǔ)過(guò)程時(shí)所需要的參數(shù)param>
  7. /// returns>
  8. public int ExecuteNonQuery(string sql, CommandType commandType, SqlParameter[] parameters)
  9. {
  10. //定義SqlConnection對(duì)象
  11. SqlConnection connection = null;
  12. //定義SqlCommand對(duì)象
  13. SqlCommand command = null;
  14. //定義執(zhí)行語(yǔ)句之后受影響的行數(shù)
  15. int affectedRows = 0;
  16. try
  17. {
  18.     connection = new SqlConnection(connectionString);
  19.     command = new SqlCommand(sql, connection);
  20.     foreach (SqlParameter parameter in parameters)
  21.     {
  22.         command.Parameters.Add(parameter);
  23.     }
  24. command.CommandType = commandType;
  25.     connection.Open();//打開(kāi)連接
  26.     //執(zhí)行對(duì)數(shù)據(jù)庫(kù)的操作
  27.     affectedRows = command.ExecuteNonQuery();
  28. }
  29. finally//在finally中執(zhí)行關(guān)閉和釋放SqlConnection及SqlCommand的操作
  30. {
  31.     if (connection != null && connection.State == ConnectionState.Open)
  32.     {
  33.         connection.Close();
  34.     }
  35.     if (command != null)
  36.     {
  37.         command.Dispose();
  38.     }
  39. }
  40. return affectedRows;
  41. }
  42. 在Visual Studio 2005中我們完全可以這么寫(xiě):
  43. /// 
  44. /// 執(zhí)行Update/Delete/Insert類(lèi)型的SQL語(yǔ)句,并返回受影響的行數(shù)
  45. /// summary>
  46. /// 要執(zhí)行的Update/Delete/Insert類(lèi)型的SQL語(yǔ)句param>
  47. /// 執(zhí)行SQL語(yǔ)句的類(lèi)型,如是文本型還是存儲(chǔ)過(guò)程param>
  48. /// 執(zhí)行存儲(chǔ)過(guò)程時(shí)所需要的參數(shù)param>
  49. /// returns>
  50. public int ExecuteNonQuery(string sql, CommandType commandType, SqlParameter[] parameters)
  51. {
  52. //定義執(zhí)行語(yǔ)句之后受影響的行數(shù)
  53. int affectedRows = 0;
  54. using (SqlConnection connection = new SqlConnection(connectionString))
  55. {
  56.     using (SqlCommand command = new SqlCommand(sql, connection))
  57.     {
  58.         command.CommandType = commandType;
  59.         foreach (SqlParameter parameter in parameters)
  60.         {
  61.             command.Parameters.Add(parameter);
  62.         }
  63.         connection.Open();//打開(kāi)連接
  64.         //執(zhí)行對(duì)數(shù)據(jù)庫(kù)的操作
  65.         affectedRows = command.ExecuteNonQuery();
  66.     }
  67. }
  68. return affectedRows;
  69. }

通過(guò)是用using語(yǔ)句大家可以明顯看出代碼更簡(jiǎn)潔了,并且是用using語(yǔ)句之后的效果和使用try{}finally{}的效果是一樣的。

安全的類(lèi)型轉(zhuǎn)換

在開(kāi)發(fā)中經(jīng)常存在一些轉(zhuǎn)換,比如從字符串類(lèi)型轉(zhuǎn)換成數(shù)值類(lèi)型及從一種引用類(lèi)型轉(zhuǎn)換成另一種引用類(lèi)型,在早期的版本中一旦出現(xiàn)不能轉(zhuǎn)換的情況就會(huì)拋出異常,實(shí)際上系統(tǒng)處理異常的開(kāi)銷(xiāo)比較大,因而沒(méi)有必要在所有情況下都拋出異常,在Visual Studio 2005中針對(duì)這種情況進(jìn)行了改進(jìn)。

如下:

 
 
 
 
  1. /// 
  2. /// VS2003中的寫(xiě)法
  3. /// summary>
  4. public void VS2003()
  5. {
  6.     int version1 = 0;
  7.     //下面的轉(zhuǎn)換如果不成功就會(huì)拋出異常
  8.     version1 = int.Parse("zhoufoxcn");//這句會(huì)拋出異常
  9.     object str = "Hello Visual Studio 2005";
  10.     //下面轉(zhuǎn)換如果失敗就會(huì)拋出異常
  11.     Button btn = (Button)str;//因?yàn)閟tring類(lèi)型與Button類(lèi)型之間不能轉(zhuǎn)換,所以會(huì)拋出異常
  12.     
  13. }
  14. /// 
  15. /// Visual Studio 2005及更高版本的做法
  16. /// summary>
  17. public void Visual Studio 2005()
  18. {
  19.     int version2;
  20.     //如果轉(zhuǎn)換成功parseSuccess為true,version2為對(duì)應(yīng)字符串轉(zhuǎn)換成的數(shù)值
  21.     //如果轉(zhuǎn)換不成功則parseSuccess為false,version2的值不可用
  22.     bool parseSuccess = int.TryParse("zhoufoxcn", out version2);//這句永遠(yuǎn)不會(huì)拋出異常
  23.     if (parseSuccess)
  24.     {
  25.         //這里使用轉(zhuǎn)換后的數(shù)值
  26.     }
  27.     object str = "Hello Visual Studio 2005";
  28.     //下面轉(zhuǎn)換如果成功則btn不為null
  29.     //如果不成功則btn為null,但是不會(huì)拋出異常
  30.     Button btn = str as Button;//因?yàn)閟tring類(lèi)型與Button類(lèi)型之間不能轉(zhuǎn)換,所以btn為null
  31.     if (btn != null)
  32.     {
  33.         //這里處理能轉(zhuǎn)換的情況
  34.     }
  35. }

局部類(lèi)

在Visual Studio 2005中還引入了局部類(lèi)的概念,這樣對(duì)一個(gè)類(lèi)的定義可以放在多個(gè)物理文件中,在編譯的時(shí)候編譯器會(huì)自動(dòng)將屬于統(tǒng)一個(gè)類(lèi)的代碼編譯成一個(gè)完整的類(lèi)定義。

如下面的代碼:

 
 
 
 
  1. /// 
  2. /// Person類(lèi)的部分定義1,物理文件名為Person1.cs
  3. /// 
  4. public partial class Person
  5. {
  6.     public int Age { get; set; }
  7. }
  8. /// 
  9. /// Person類(lèi)的部分定義2,物理文件名為Person2.cs
  10. /// 
  11. public partial class Person
  12. {
  13.     public string Name { get; set; }
  14. }

編譯的時(shí)候會(huì)將這兩部分編譯到一個(gè)完整的類(lèi)定義中,最終編譯的Person類(lèi)總會(huì)有Age和Name兩個(gè)屬性。這種情況應(yīng)用在WinForm開(kāi)發(fā)和ASP.NET開(kāi)發(fā)中都有體現(xiàn),在WinForm中假如有一個(gè)窗體名為Form1,那么就有Form1.cs和Form1.designer.cs兩個(gè)物理文件都是Form1類(lèi)的局部類(lèi)。在ASP.NET中一個(gè)ASPX頁(yè)面對(duì)應(yīng)的aspx.cs也是一個(gè)局部類(lèi)。使用局部類(lèi)的好處是可以將展示代碼和邏輯代碼分開(kāi),最終編譯時(shí)會(huì)生成一個(gè)完整的類(lèi)的定義。

在ASP.NET開(kāi)發(fā)中也增加了很多亮點(diǎn),比如增強(qiáng)了可視化編程,在VS2003中用戶(hù)控件在被使用的頁(yè)面處于設(shè)計(jì)視圖下不是可視化的,只能在運(yùn)行后才能看到用戶(hù)控件最終的樣子,這個(gè)在開(kāi)發(fā)時(shí)多少有些不方便。除此之外還增加了如下功能:增加了ASP.NET Development Server組件、內(nèi)置文件夾、母版頁(yè)及主題等。

ASP.NET Development Server

圖 ASP.NET Development Server

在VS2002及VS2003中開(kāi)發(fā)ASP.NET應(yīng)用程序只能使用IIS,每個(gè)ASP.NET應(yīng)用都會(huì)作為IIS的一個(gè)網(wǎng)站或者虛擬目錄,因?yàn)殚_(kāi)發(fā)者的機(jī)器上必須安裝IIS,而且最好按照先安裝IIS再安裝VS的步驟進(jìn)行,否則就需要向IIS注冊(cè).NET Framework(早年我曾經(jīng)為這個(gè)問(wèn)題抓狂過(guò),所以我在《ASP.NET夜話》第一章中特地說(shuō)了這個(gè)注意事項(xiàng))。而且使用這種開(kāi)發(fā),部署和調(diào)試都不是太方便,因?yàn)槟J(rèn)的ASP.NET應(yīng)用會(huì)在IIS根目錄下創(chuàng)建虛擬目錄,如果沒(méi)有更改的話一點(diǎn)系統(tǒng)出現(xiàn)問(wèn)題不能啟動(dòng)恐怕你的代碼也不好找回來(lái)了(這種情況我也遇見(jiàn)過(guò))。

在Visual Studio 2005中內(nèi)置了ASP.NET Development Server這個(gè)組件,這樣開(kāi)發(fā)者的機(jī)器上就不必再安裝IIS了,而且我們可以基于文件系統(tǒng)開(kāi)發(fā),這樣我們可以任意指定ASP.NET應(yīng)用程序的存放位置,這樣調(diào)試和部署起來(lái)就相當(dāng)方便了,源代碼管理也很方便。自從出現(xiàn)了ASP.NET Development Server這個(gè)組件之后很多ASP.NET開(kāi)發(fā)人員甚至干脆不在開(kāi)發(fā)的機(jī)器上安裝IIS這個(gè)組件了,取而代之的就是ASP.NET Development Server這個(gè)組件(如果部署ASP.NET應(yīng)用仍需要專(zhuān)業(yè)的Web服務(wù)器)。

母版頁(yè)

在我們做Web應(yīng)用的時(shí)候,經(jīng)常會(huì)遇到一些頁(yè)面之間有很多相同的顯示部分和行為,如果每個(gè)頁(yè)面都去重復(fù)編寫(xiě)這些代碼,那就是一件非常麻煩的事情。因此在ASP.NET2.0中提出了母板頁(yè)的概念,我們可以把多個(gè)頁(yè)面之間相同的行為和顯示部分放到母板頁(yè)中,只需要為每個(gè)頁(yè)面編寫(xiě)不同的部分即可,這樣如果我們對(duì)公共部分需要變化僅僅更改母板頁(yè)就能達(dá)到目的。母板頁(yè)的文件后綴名為.master,一個(gè)網(wǎng)站中允許定義多個(gè)母板頁(yè)。

母板頁(yè)不能單獨(dú)呈現(xiàn),也就是我們不能在瀏覽器中直接輸入母板頁(yè)的url地址進(jìn)行訪問(wèn),必須依賴(lài)于內(nèi)容頁(yè)才能呈現(xiàn)。

下面是新建一個(gè)母板頁(yè)的源代碼:

 
 
 
 
  1. <%@ Master Language="C#" AutoEventWireup="true" CodeFile="FrontPage.master.cs" Inherits="FrontPage" %>
  2. >
  3.     無(wú)標(biāo)題頁(yè)title></li> <li>head></li> <li><body></li> <li>    <form id="form1" runat="server"></li> <li>    <div></li> <li>        <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"></li> <li>        asp:contentplaceholder></li> <li>    div></li> <li>    form></li> <li>body></li> <li>html></li> </ol></pre><p>在母板頁(yè)中有一個(gè)“ ”標(biāo)記,這相當(dāng)于一個(gè)占位標(biāo)記,將來(lái)使用了這個(gè)母板頁(yè)的內(nèi)容頁(yè)中的內(nèi)容將在這個(gè)標(biāo)記中顯示。因?yàn)槟赴屙?yè)已經(jīng)包含了</p><p>   標(biāo)記,所以?xún)?nèi)容頁(yè)中不允許再出現(xiàn)這些標(biāo)記。</p><p>而一個(gè)內(nèi)容頁(yè)的代碼如下:</p><pre> <ol> <li><%@ Page Language="C#" MasterPageFile="~/FrontPage.master" AutoEventWireup="true"</li> <li>CodeFile="MyPage.aspx.cs" Inherits="MyPage" Title="Untitled Page" %></li> <li><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"></li> <li>asp:Content></li> </ol></pre><p>在內(nèi)容頁(yè)中有一個(gè) 標(biāo)記,內(nèi)容頁(yè)的代碼只有放在這個(gè)標(biāo)記之間的代碼將來(lái)運(yùn)行時(shí)才會(huì)可見(jiàn)。</p><p>通過(guò)母版頁(yè)使我們?cè)谝唤M頁(yè)面間共享結(jié)構(gòu)和內(nèi)容更加方便。</p><p><strong>內(nèi)置文件夾</strong></p><p>如果我們使用Visual Studio 2005及更高版本,我們可能會(huì)注意到以下情況:</p></p><p>可以看到同樣是文件夾,App_Data目錄和js目錄的圖標(biāo)在Visual Studio 2005中就是不一樣,像App_Data這類(lèi)文件夾的就是內(nèi)置文件夾,在運(yùn)行的時(shí)候Web服務(wù)器會(huì)對(duì)這類(lèi)文件夾有特殊的措施,比如像App_Data這類(lèi)文件夾是不能直接在瀏覽器地址欄里輸入U(xiǎn)RL進(jìn)行訪問(wèn)的。這樣如果我們采用的是文件型數(shù)據(jù)庫(kù)的話(如Access),我們就可以將mdb文件放到這個(gè)文件夾下,這樣即使別人知道URL地址正確的URL地址也沒(méi)有辦法通過(guò)URL來(lái)下載,而在Visual Studio 2005及以前版本中,我們只能通過(guò)其它辦法保護(hù)自己的敏感數(shù)據(jù)了。</p><p><strong>更方便的ASP.NET應(yīng)用程序發(fā)布方式</strong></p><p>在VS2002和VS2003中沒(méi)有提供脫離源代碼發(fā)布ASP.NET應(yīng)用的方式,這樣一來(lái)開(kāi)發(fā)的ASP.NET就需要將源代碼連同項(xiàng)目一起提供給使用者(個(gè)人客戶(hù)或者公司客戶(hù)),這樣一來(lái)整個(gè)項(xiàng)目的細(xì)節(jié)全部暴露給了使用者,而現(xiàn)在軟件公司的開(kāi)發(fā)模式基本上都是不提供源代碼給使用者,所以在早期很多開(kāi)發(fā)人員都在想辦法讓ASP.NET應(yīng)用程序中的cs文件編譯進(jìn)dll中發(fā)布,早期筆者也曾經(jīng)這么做過(guò),配置和操作過(guò)程比較復(fù)雜,而在Visual Studio 2005中這個(gè)就不再是問(wèn)題了,在Visual Studio 2005中可以一鍵解決這個(gè)問(wèn)題。</p><p>在Visual Studio 2005中鼠標(biāo)右鍵點(diǎn)擊ASP.NET應(yīng)用項(xiàng)目,在彈出的菜單中選擇“發(fā)布網(wǎng)站”就會(huì)彈出發(fā)布網(wǎng)站的對(duì)話框,選擇一個(gè)目錄之后就可以發(fā)布了。發(fā)布網(wǎng)站成功之后就可以將發(fā)布成功后的文件夾(包含了整個(gè)ASP.NET應(yīng)用正確運(yùn)行的全部資源,如css、javascript、html和ASPX及dll)部署到Web服務(wù)器上,更改開(kāi)發(fā)中的環(huán)境配置為運(yùn)行時(shí)的環(huán)境配置即可正常運(yùn)行和瀏覽了。比起以前的版本,這個(gè)過(guò)程極其方便。</p><p>除此之外,還增加了GridView、TreeView等控件使我們的開(kāi)發(fā)效率大大提高了。而AccessDataSource、SqlDataSource、ObjectDataSource數(shù)據(jù)源控件的引入使得新手更加容易上手了。</p><p><strong>總結(jié)</strong></p><p>Visual Studio 2005是一款非常成功的產(chǎn)品,起著很重要的承上啟下的作用。它是對(duì)VS2003等以前版本的質(zhì)的提高,有很多功能比如類(lèi)型轉(zhuǎn)換、代碼段管理、母版頁(yè)、網(wǎng)站發(fā)布、using語(yǔ)句等語(yǔ)法和編譯器功能是筆者從Visual Studio 2005后一直都在使用,這些特性確實(shí)方便了代碼編寫(xiě)和調(diào)試,有些還能提高程序的健壯性和性能,從而也提高了開(kāi)發(fā)人員的開(kāi)發(fā)效率。</p><p><strong>Visual Studio 2005歷史回放</strong></p></p><p><strong>Visual Studio 2005專(zhuān)業(yè)版外包裝盒</strong></p><p>舊金山當(dāng)?shù)貢r(shí)間2005年11月7日。在Cheap Trick樂(lè)隊(duì)的音樂(lè)助威聲中,微軟終于正式發(fā)布了Visual Studio 2005和SQL Server 2005。微軟公司CEO Steve Ballmer出席了發(fā)布儀式。</p><p>SQL Server的上次升級(jí)已經(jīng)是五年前的事情了,而這次二者新版本的發(fā)布加上剛剛發(fā)布的.NET Framework 2.0,都是為2006年Windows Vista而作的一種準(zhǔn)備。Ballmer承認(rèn)它們來(lái)得有些晚了,不過(guò)他重點(diǎn)強(qiáng)調(diào)了新版本的一些重大改進(jìn)。</p><p>Visual Studio 2005極大地改進(jìn)了性能表現(xiàn)和安全性,以滿足微軟所謂的“企業(yè)級(jí)(enterprise-grade)”應(yīng)用。同時(shí)微軟還發(fā)布了高端版本的Visual Studio 2005 Team System,主要針對(duì)程序員、測(cè)試員以及軟件架構(gòu)師,可以在一個(gè)團(tuán)隊(duì)之間建立有效的協(xié)作,其售價(jià)也是不菲,高達(dá)$10939。</p><p><strong>Visual Studio 2005安裝光盤(pán)</strong></p><p><strong>作者簡(jiǎn)介</strong></p><p>周金橋,網(wǎng)名周公,微軟2008年7月MVP,專(zhuān)家堂成員。微軟山西.NET俱樂(lè)部技術(shù)負(fù)責(zé)人。超過(guò)6年的Web開(kāi)發(fā)經(jīng)驗(yàn),擅長(zhǎng)ASP.NET、程序性能和安全優(yōu)化。</p> <br> 網(wǎng)頁(yè)名稱(chēng):VisualStudio2005的那些事兒 <br> 標(biāo)題來(lái)源:<a href="http://m.5511xx.com/article/dhgcscg.html">http://m.5511xx.com/article/dhgcscg.html</a> </div> <div id="ssexuiu" class="hot_new"> <div id="rxrvgug" class="page_title clearfix"> <h3>其他資訊</h3> </div> <div id="usow486" class="news_list clearfix"> <ul> <li> <a href="/article/djcscec.html">oracle數(shù)據(jù)泵備份報(bào)錯(cuò)</a> </li><li> <a href="/article/djcscee.html">什么是DD鏡像?dd鏡像forwindows</a> </li><li> <a href="/article/djcscej.html">今日香港服務(wù)器問(wèn)題</a> </li><li> <a href="/article/djcscdp.html">vps好用嗎?(VPS服務(wù)器如何提高安全性能)</a> </li><li> <a href="/article/djcscss.html">PHP函數(shù):cosh</a> </li> </ul> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!-- 底部信息 --> <div id="of9uecy" class="footer wow fadeInUp"> <div id="ub394d8" class="rowFluid"> <div id="9hkxgur" class="span12"> <div id="tixrxal" class="container"> <div id="s9wda2q" class="footer_content"> <div id="ixchk3f" class="span4 col-xm-12"> <div id="xey8f3u" class="footer_list"> <div id="3adzu3t" class="span6"> <div id="rhtoqu3" class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服務(wù)號(hào)二維碼" /></div> </div> <div id="csysnyb" class="span6 col-xm-12"> <div id="v42sn3y" class="quick_navigation"> <div id="yoiwkeq" class="quick_navigation_title">快速導(dǎo)航</div> <ul> <li><a title="成都服務(wù)器托管" target="_blank">成都服務(wù)器托管</a></li><li><a title="點(diǎn)金石文化" target="_blank">點(diǎn)金石文化</a></li><li><a title="湖北寵物用品" target="_blank">湖北寵物用品</a></li><li><a title="成都移動(dòng)主機(jī)托管" target="_blank">成都移動(dòng)主機(jī)托管</a></li><li><a title="網(wǎng)站推廣營(yíng)銷(xiāo)" target="_blank">網(wǎng)站推廣營(yíng)銷(xiāo)</a></li><li><a title="成都醫(yī)療純水設(shè)備" target="_blank">成都醫(yī)療純水設(shè)備</a></li><li><a title="成都柴油發(fā)電機(jī)" target="_blank">成都柴油發(fā)電機(jī)</a></li><li><a title="廣漢柴油發(fā)電機(jī)租賃" target="_blank">廣漢柴油發(fā)電機(jī)租賃</a></li><li><a title="同層排水系統(tǒng)" target="_blank">同層排水系統(tǒng)</a></li><li><a title="IDC機(jī)房托管" target="_blank">IDC機(jī)房托管</a></li><li><a title="成都發(fā)電機(jī)組租賃" target="_blank">成都發(fā)電機(jī)組租賃</a></li> </ul> </div> </div> </div> </div> <div id="olp9gsr" class="span4 col-xm-6 col-xs-12"> <div id="ihtfzt3" class="footer_list"> <div id="87yboru" class="footer_link"> <div id="kidru3p" class="footer_link_title">友情鏈接</div> <ul id="frientLinks"> <a title="網(wǎng)站制作" target="_blank">網(wǎng)站制作</a> <a title="網(wǎng)站建設(shè)" target="_blank">網(wǎng)站建設(shè)</a> <a title="成都網(wǎng)絡(luò)推廣" target="_blank">網(wǎng)絡(luò)推廣</a> <a title="成都網(wǎng)站推廣" target="_blank">網(wǎng)站推廣</a> <a title="成都微信小程序開(kāi)發(fā)" target="_blank">小程序開(kāi)發(fā)</a> <a title="創(chuàng)新互聯(lián)網(wǎng)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a> </ul> <div id="ewhbf1y" class="footer_link_title">網(wǎng)站建設(shè)</div> <ul id="frientLinks"> <li><a href="/">四川平武建站</a></li> <li><a title="創(chuàng)新互聯(lián)網(wǎng)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a></li> </ul> </div> </div> </div> <div id="ah3eqam" class="span4 col-xm-6 col-xs-12"> <div id="wvyipjm" class="footer_list"> <div id="sgjmid8" class="footer_cotact"> <div id="m2zlloh" class="footer_cotact_title">聯(lián)系方式</div> <ul> <li><span id="dcyjfi8" class="footer_cotact_type">企業(yè):</span><span id="ovhehmk" class="footer_cotact_content">四川綿陽(yáng)平武網(wǎng)站建設(shè)工作室</span></li> <li><span id="7qtileh" class="footer_cotact_type">地址:</span><span id="lrdxjvy" class="footer_cotact_content">成都市青羊區(qū)太升南路288號(hào)</span></li> <li><span id="nkzupvb" class="footer_cotact_type">電話:</span><span id="9c613my" class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li> <li><span id="x9bnqtw" class="footer_cotact_type">網(wǎng)址:</span><span id="sb3iwjo" class="footer_cotact_content"><a href="/" title="四川平武網(wǎng)站建設(shè)">m.5511xx.com</a></span></li> </ul> </div> </div> </div> </div> </div> <div id="iwb4mao" class="copyright"> <p>公司名稱(chēng):四川綿陽(yáng)平武網(wǎng)站建設(shè)工作室 聯(lián)系電話:18980820575</p> <p><a target="_blank" rel="nofollow">網(wǎng)站備案號(hào):蜀ICP備2024061352號(hào)-3</a></p> <p>四川平武建站 四川平武網(wǎng)站建設(shè) 四川平武網(wǎng)站設(shè)計(jì) 四川平武網(wǎng)站制作 <a target="_blank">成都做網(wǎng)站</a></p> </div> </div> </div> </div> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.5511xx.com/" title="日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区">日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区</a> <div class="friend-links"> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="ukdwh" class="pl_css_ganrao" style="display: none;"><optgroup id="ukdwh"><dfn id="ukdwh"><dfn id="ukdwh"><tfoot id="ukdwh"></tfoot></dfn></dfn></optgroup><i id="ukdwh"><small id="ukdwh"><form id="ukdwh"><dfn id="ukdwh"></dfn></form></small></i><big id="ukdwh"><dl id="ukdwh"><abbr id="ukdwh"><xmp id="ukdwh"></xmp></abbr></dl></big><tfoot id="ukdwh"><input id="ukdwh"><abbr id="ukdwh"><strike id="ukdwh"></strike></abbr></input></tfoot><small id="ukdwh"></small><menu id="ukdwh"><form id="ukdwh"><tfoot id="ukdwh"><label id="ukdwh"></label></tfoot></form></menu><ul id="ukdwh"><strike id="ukdwh"><table id="ukdwh"><kbd id="ukdwh"></kbd></table></strike></ul><fieldset id="ukdwh"></fieldset><dfn id="ukdwh"></dfn><kbd id="ukdwh"><dl id="ukdwh"><optgroup id="ukdwh"><xmp id="ukdwh"></xmp></optgroup></dl></kbd><dfn id="ukdwh"></dfn><strike id="ukdwh"></strike><acronym id="ukdwh"></acronym><em id="ukdwh"></em><rt id="ukdwh"></rt><i id="ukdwh"></i><form id="ukdwh"></form><optgroup id="ukdwh"></optgroup><tr id="ukdwh"><legend id="ukdwh"><noframes id="ukdwh"><span id="ukdwh"></span></noframes></legend></tr><wbr id="ukdwh"><dfn id="ukdwh"><dfn id="ukdwh"><td id="ukdwh"></td></dfn></dfn></wbr><dd id="ukdwh"><thead id="ukdwh"><optgroup id="ukdwh"><xmp id="ukdwh"></xmp></optgroup></thead></dd><code id="ukdwh"><nobr id="ukdwh"><wbr id="ukdwh"><legend id="ukdwh"></legend></wbr></nobr></code><optgroup id="ukdwh"></optgroup><input id="ukdwh"><optgroup id="ukdwh"><strike id="ukdwh"><sup id="ukdwh"></sup></strike></optgroup></input><kbd id="ukdwh"></kbd><optgroup id="ukdwh"></optgroup><em id="ukdwh"><tr id="ukdwh"><legend id="ukdwh"><th id="ukdwh"></th></legend></tr></em><abbr id="ukdwh"><xmp id="ukdwh"><menu id="ukdwh"><form id="ukdwh"></form></menu></xmp></abbr><sup id="ukdwh"></sup><label id="ukdwh"></label><var id="ukdwh"></var><th id="ukdwh"><span id="ukdwh"><i id="ukdwh"><em id="ukdwh"></em></i></span></th><i id="ukdwh"></i><strong id="ukdwh"><dfn id="ukdwh"><td id="ukdwh"><table id="ukdwh"></table></td></dfn></strong><sup id="ukdwh"></sup><input id="ukdwh"><video id="ukdwh"><strike id="ukdwh"><small id="ukdwh"></small></strike></video></input><xmp id="ukdwh"></xmp><th id="ukdwh"><span id="ukdwh"><i id="ukdwh"><em id="ukdwh"></em></i></span></th><menu id="ukdwh"><rp id="ukdwh"><tfoot id="ukdwh"><pre id="ukdwh"></pre></tfoot></rp></menu><table id="ukdwh"><small id="ukdwh"><dl id="ukdwh"><dfn id="ukdwh"></dfn></dl></small></table><abbr id="ukdwh"><xmp id="ukdwh"><menu id="ukdwh"><form id="ukdwh"></form></menu></xmp></abbr><th id="ukdwh"><button id="ukdwh"><code id="ukdwh"><nobr id="ukdwh"></nobr></code></button></th><big id="ukdwh"><dl id="ukdwh"><abbr id="ukdwh"><div id="ukdwh"></div></abbr></dl></big><big id="ukdwh"><dl id="ukdwh"><video id="ukdwh"><div id="ukdwh"></div></video></dl></big><pre id="ukdwh"><abbr id="ukdwh"><acronym id="ukdwh"><menu id="ukdwh"></menu></acronym></abbr></pre><li id="ukdwh"><dd id="ukdwh"><input id="ukdwh"><optgroup id="ukdwh"></optgroup></input></dd></li><abbr id="ukdwh"><xmp id="ukdwh"><menu id="ukdwh"><form id="ukdwh"></form></menu></xmp></abbr><small id="ukdwh"></small><span id="ukdwh"><rt id="ukdwh"><em id="ukdwh"><form id="ukdwh"></form></em></rt></span><wbr id="ukdwh"><legend id="ukdwh"><dfn id="ukdwh"><td id="ukdwh"></td></dfn></legend></wbr><code id="ukdwh"><small id="ukdwh"><wbr id="ukdwh"><dfn id="ukdwh"></dfn></wbr></small></code><form id="ukdwh"><kbd id="ukdwh"><label id="ukdwh"><optgroup id="ukdwh"></optgroup></label></kbd></form><kbd id="ukdwh"><thead id="ukdwh"><optgroup id="ukdwh"><xmp id="ukdwh"></xmp></optgroup></thead></kbd><thead id="ukdwh"></thead><s id="ukdwh"><small id="ukdwh"><button id="ukdwh"><rt id="ukdwh"></rt></button></small></s><nobr id="ukdwh"></nobr><wbr id="ukdwh"></wbr><xmp id="ukdwh"><strike id="ukdwh"><form id="ukdwh"><dd id="ukdwh"></dd></form></strike></xmp><button id="ukdwh"><tfoot id="ukdwh"><tbody id="ukdwh"><pre id="ukdwh"></pre></tbody></tfoot></button><span id="ukdwh"><rt id="ukdwh"><em id="ukdwh"><tr id="ukdwh"></tr></em></rt></span><tfoot id="ukdwh"></tfoot><menu id="ukdwh"><form id="ukdwh"><big id="ukdwh"><label id="ukdwh"></label></big></form></menu><ul id="ukdwh"></ul><dfn id="ukdwh"></dfn><form id="ukdwh"><s id="ukdwh"><noframes id="ukdwh"><dfn id="ukdwh"></dfn></noframes></s></form><thead id="ukdwh"></thead><dfn id="ukdwh"></dfn><optgroup id="ukdwh"></optgroup><noframes id="ukdwh"><td id="ukdwh"><code id="ukdwh"><em id="ukdwh"></em></code></td></noframes><li id="ukdwh"></li><strong id="ukdwh"><th id="ukdwh"><td id="ukdwh"><code id="ukdwh"></code></td></th></strong><tbody id="ukdwh"><tr id="ukdwh"><s id="ukdwh"><th id="ukdwh"></th></s></tr></tbody><dd id="ukdwh"><label id="ukdwh"><optgroup id="ukdwh"><div id="ukdwh"></div></optgroup></label></dd><dl id="ukdwh"></dl><label id="ukdwh"></label><small id="ukdwh"><dfn id="ukdwh"><rt id="ukdwh"><nobr id="ukdwh"></nobr></rt></dfn></small><dd id="ukdwh"></dd><xmp id="ukdwh"><sup id="ukdwh"><form id="ukdwh"><dd id="ukdwh"></dd></form></sup></xmp><wbr id="ukdwh"></wbr><strong id="ukdwh"></strong><nobr id="ukdwh"></nobr><legend id="ukdwh"><noframes id="ukdwh"><td id="ukdwh"><code id="ukdwh"></code></td></noframes></legend><button id="ukdwh"><rt id="ukdwh"><tbody id="ukdwh"><tr id="ukdwh"></tr></tbody></rt></button><form id="ukdwh"></form><xmp id="ukdwh"><sup id="ukdwh"><form id="ukdwh"><big id="ukdwh"></big></form></sup></xmp><input id="ukdwh"><video id="ukdwh"><acronym id="ukdwh"><label id="ukdwh"></label></acronym></video></input><ul id="ukdwh"></ul><strike id="ukdwh"><table id="ukdwh"><kbd id="ukdwh"><thead id="ukdwh"></thead></kbd></table></strike><thead id="ukdwh"><optgroup id="ukdwh"><dfn id="ukdwh"><sup id="ukdwh"></sup></dfn></optgroup></thead><em id="ukdwh"></em><wbr id="ukdwh"></wbr><video id="ukdwh"><strike id="ukdwh"><label id="ukdwh"><rp id="ukdwh"></rp></label></strike></video><i id="ukdwh"><em id="ukdwh"><wbr id="ukdwh"><strong id="ukdwh"></strong></wbr></em></i><xmp id="ukdwh"><strike id="ukdwh"><li id="ukdwh"><dd id="ukdwh"></dd></li></strike></xmp><dfn id="ukdwh"><dl id="ukdwh"><nobr id="ukdwh"><tr id="ukdwh"></tr></nobr></dl></dfn><xmp id="ukdwh"><strike id="ukdwh"><form id="ukdwh"><dd id="ukdwh"></dd></form></strike></xmp><dl id="ukdwh"></dl><td id="ukdwh"><code id="ukdwh"><small id="ukdwh"><wbr id="ukdwh"></wbr></small></code></td><pre id="ukdwh"><abbr id="ukdwh"><acronym id="ukdwh"><label id="ukdwh"></label></acronym></abbr></pre><em id="ukdwh"><tr id="ukdwh"><strong id="ukdwh"><noframes id="ukdwh"></noframes></strong></tr></em><big id="ukdwh"><label id="ukdwh"><abbr id="ukdwh"><div id="ukdwh"></div></abbr></label></big><menu id="ukdwh"></menu><i id="ukdwh"></i><tbody id="ukdwh"><video id="ukdwh"><s id="ukdwh"><label id="ukdwh"></label></s></video></tbody><dl id="ukdwh"><input id="ukdwh"><pre id="ukdwh"><strike id="ukdwh"></strike></pre></input></dl><rt id="ukdwh"></rt><big id="ukdwh"><thead id="ukdwh"><abbr id="ukdwh"><xmp id="ukdwh"></xmp></abbr></thead></big><video id="ukdwh"></video><noframes id="ukdwh"></noframes><optgroup id="ukdwh"><dfn id="ukdwh"><fieldset id="ukdwh"><table id="ukdwh"></table></fieldset></dfn></optgroup><xmp id="ukdwh"><strike id="ukdwh"><table id="ukdwh"><dd id="ukdwh"></dd></table></strike></xmp><form id="ukdwh"><s id="ukdwh"><th id="ukdwh"><span id="ukdwh"></span></th></s></form><i id="ukdwh"></i><big id="ukdwh"><label id="ukdwh"><abbr id="ukdwh"><div id="ukdwh"></div></abbr></label></big><form id="ukdwh"><kbd id="ukdwh"><input id="ukdwh"><optgroup id="ukdwh"></optgroup></input></kbd></form><form id="ukdwh"><s id="ukdwh"><noframes id="ukdwh"><dfn id="ukdwh"></dfn></noframes></s></form><dl id="ukdwh"></dl><rp id="ukdwh"><tfoot id="ukdwh"><tbody id="ukdwh"><video id="ukdwh"></video></tbody></tfoot></rp><xmp id="ukdwh"><fieldset id="ukdwh"><form id="ukdwh"><dd id="ukdwh"></dd></form></fieldset></xmp><dd id="ukdwh"></dd><dfn id="ukdwh"><dfn id="ukdwh"><td id="ukdwh"><var id="ukdwh"></var></td></dfn></dfn><div id="ukdwh"><fieldset id="ukdwh"><li id="ukdwh"><big id="ukdwh"></big></li></fieldset></div><i id="ukdwh"></i><tbody id="ukdwh"></tbody><button id="ukdwh"><tfoot id="ukdwh"><tbody id="ukdwh"><pre id="ukdwh"></pre></tbody></tfoot></button><label id="ukdwh"></label><dl id="ukdwh"></dl><rt id="ukdwh"></rt><tfoot id="ukdwh"><label id="ukdwh"><video id="ukdwh"><strike id="ukdwh"></strike></video></label></tfoot><i id="ukdwh"></i><sup id="ukdwh"><table id="ukdwh"><dd id="ukdwh"><label id="ukdwh"></label></dd></table></sup><th id="ukdwh"></th><pre id="ukdwh"><abbr id="ukdwh"><acronym id="ukdwh"><label id="ukdwh"></label></acronym></abbr></pre><optgroup id="ukdwh"><dfn id="ukdwh"><fieldset id="ukdwh"><table id="ukdwh"></table></fieldset></dfn></optgroup><menu id="ukdwh"></menu><ul id="ukdwh"><td id="ukdwh"><table id="ukdwh"><kbd id="ukdwh"></kbd></table></td></ul><acronym id="ukdwh"></acronym><kbd id="ukdwh"></kbd><dd id="ukdwh"></dd><acronym id="ukdwh"><menu id="ukdwh"><button id="ukdwh"><tfoot id="ukdwh"></tfoot></button></menu></acronym><pre id="ukdwh"><strike id="ukdwh"><small id="ukdwh"><button id="ukdwh"></button></small></strike></pre><label id="ukdwh"><optgroup id="ukdwh"><div id="ukdwh"><fieldset id="ukdwh"></fieldset></div></optgroup></label><code id="ukdwh"><nobr id="ukdwh"><thead id="ukdwh"><strong id="ukdwh"></strong></thead></nobr></code><tr id="ukdwh"><legend id="ukdwh"><th id="ukdwh"><span id="ukdwh"></span></th></legend></tr><xmp id="ukdwh"></xmp><small id="ukdwh"></small><button id="ukdwh"><tfoot id="ukdwh"><tbody id="ukdwh"><pre id="ukdwh"></pre></tbody></tfoot></button><big id="ukdwh"><dl id="ukdwh"><abbr id="ukdwh"><xmp id="ukdwh"></xmp></abbr></dl></big><pre id="ukdwh"></pre><dd id="ukdwh"><thead id="ukdwh"><abbr id="ukdwh"><xmp id="ukdwh"></xmp></abbr></thead></dd></div> </html>