我还用vs2003做开发,请问2003和2005的区别是什么?优点是什么?

解决方案 »

  1.   

    vs2003 .net1.1
    vs2005 .net2.0
      

  2.   

    .net框架不同,一个是基于1.1的,一个是基于2.0的,剩下的区别主要是因为框架不同而导致的区别(除非你用c++写程序)
      

  3.   

    VS2005是VS2003的升级版本,我只能这么说
      

  4.   

    更高版本而已,一般开发都可以完成,windows 98 he 2000的区别
      

  5.   

    VS05不及03和其它不足之处、bug:
         1,在05中解决方案资源管理器中的焦点不和当前显示的文件同步,不便于查找。     2,05中的文件显示顺序和03相反,新打开项在左边,不合正常人从左到右看东西的习惯。而且工作区中可直接看见的文件变得比03下少了,打开文件多时会隐藏早先的文件,且隐藏文件混同没有隐藏的一同显示,顺序同管理器一样,不容易知道哪些是最近没有用到的文件而将其关掉。起始页的位置在编译过后会变化,烦人。     3,中文输入总是自动变成全角,很烦。     4,05C#中对于语句前面的空格从Tab变成了Space。麻烦。     5,Menu升级到2.0,出现的Name属性形同虚设,得到的值都是空串,也许MS就是要放弃Menu而推重MenuStrip吧。     6,在03中就不能在Load事件中设定控件焦点,05仍然没有改进。     7,菜单条工具条等控件继承不正常,继承的控件不能正常操作。在代码中加入可以解决,而且最好不要在Designer.cs中加,不断编译有时会莫名其妙地丢失添加关联的语句。这个给程序设计造成很大麻烦。     8,以前有菜单的窗口在MDI窗口中打开后,其菜单都是转到MDI窗口上,自身不显示菜单,但是在05中发现在原菜单位置却还保留空白区域,在03中没有这样的。最后想到是否Visible属性可以消除,试了一下,不想果然可以。     9,窗体上用的图标,在MDI窗体中最大化显示时有的会变大,相应的菜单条也变粗。问题不大却很讨厌。     10,窗体的第二级菜单项的Visible属性全是False,即使为其赋True也没用。我认为这又是一个Bug。     11,在03中选定不同类别的控件,只要控件都有相同的属性事件,则焦点不会转移,方便操作。而05中焦点转移,不便操作。     12,错误列表中有三项:错误,警告,消息。MS的本意是好的,但是做的不好,多加了这样一个显示条,而且很宽,差不多相当于两条错误说明的高度了,而且很多人可能不要随时选择错误还是警告察看,不必在界面上显示这个条。很多人都是用14寸的笔记本,没有更多的显示空间。     13,那个重构有的时候是方便了点,但是更多的时候确是麻烦,即使没有第二次用到,它也要显示提示。05当然也不是一无是处,也有点好的地方。如:     1,智能提示功能更强了,更容易上手。     2,界面更漂亮了。     3,代码显示得更好,代码,字符串,类,关键字都用不同颜色标记,看起来容易。     4,扩展了新建项目种类。     5,可以在调试出错时修改程序即时编译继续执行,不用重启执行。但是却取消了C#可以不管何时都能修改的默认设定。
      

  6.   

    webpart 和 ajax 怎么不提 ? 这些是优点啊
      

  7.   

    2005 里有什么 ajax ? 胡扯
      

  8.   

    说白了vs2005就是功能更强大 支持.net 2.0 相对来说软件更大了 耗的资源也多 不过对于开发.net来说 废点资源值毕竟我们关心的是它的用处 如果条件允许 建议安装vs2005 毕竟他还避免了一个 比如经常出现403 或505等错误至少我用03时有时framework会出问题 可能和03冲突吧  
                                    --来自百度知道ASP.NET 2.0页面框架的几处变化
    1.新增的页面事件:
         在ASP.NET 2.0中,一个ASP.NET页面的生命周期主要为(红色字体表示ASP.NET 2.0新增加的阶段页面事件):客户端请求页面—》预初始化(OnPreInit)—》初始化(OnInit)—》完成初始化 (OnInitComplete)—》载入ViewState(LoadViewState)—》处理回送数据 (IPostBackDataHandler)—》Page_OnPreLoad—》Page_OnLoad—》回发更改通知 (RaisePostDataChangedEvent)—》处理回发事件(RaisePostBackEvent)—》 Page_OnLoadComplete—》预呈现(OnPreRender)—》完成预呈现(OnPreRenderComplete)—》保存 ControlState(SaveControlState)—》保存ViewState(SaveViewState)—》呈现(Render)—》 Page_UnLoad。
         OnPreInit:在初始化页面OnInit事件前触发。在这个阶段里,可以进行定义站点主题(Theme)或加载站点个性化所需要的数据信息等操作。
         OnInitComplete:完成初始化页面OnInit事件后触发。
         OnPreLoad:在加载页面OnLoad事件前触发。
         OnLoadComplete:完成页面加载OnLoad事件后触发。
         OnPreRenderComplete:在完成预呈现OnPreRender事件后触发。这是完成页面呈现的最后一道关卡,在此之后,页面将无法再进行任何呈现上的改动。
         SaveControlState:保存控件状态ControlState。ControlState是ASP.NET2.0控件新增的一个属性,类似 ViewState作用,但它们区别在于ControlState用于保存更加重要的控件状态信息,以保证在禁用ViewState的情况下还可以对控件状态进行读写操作。
    2.增加对页面Header的控制:
         System.Web.UI.Page类新增加了Header属性,用于对HTML页面头区域里数据的操作。通过对Header属性的跟踪,可以发现, Header属性保存着一个实现IPageHeader接口的对象(该对象有LinkedStyleSheets、Metadata、 StyleSheet和Title四个属性),实际上正是通过这个对象实现对HTML页面头区域里数据的操作的。例如:
         <script runat="server">
         void Page_Load(object sender, System.EventArgs e)
         {
             this.Header.Metadata.Add("author", "brooks");
         }
         </script>
         其运行结果为:
         <html>
         <head> <title>Untitled Page</title>
             <meta name="author" content="brooks" />
         </head>
    3.定义表单中的默认按钮:
         在ASP.NET1.0中,我就为了设置表单中的默认按钮而一筹莫展。幸好ASP.NET2.0把这个功能补上了,现在可以非常方便的设置表单中的默认按钮了。
         <%@ page language="C#" %>
         <script runat="server">
         void Button1_Click(object sender, System.EventArgs e)
         {
             this.LB_Message.Text = "You clicked button1";
         }
         </script>
         <html>
         <head runat="server">
             <title>Untitled Page</title>
         </head>
         <body>
             <form runat="server" defaultbutton="Button1">
                 <asp:textbox id="Textbox1" runat="server"></asp:textbox>
                 <asp:button id="Button1" runat="server" text="Button" onclick="Button1_Click" />
                 <asp:label id="LB_Message" runat="server"></asp:label>
             </form>
         </body>
         </html>
    4.设置焦点:
         现在假设为TextBox1控件设置焦点,在ASP.NET 2.0中可以这样实现:
         this.Textbox1.Focus();   或 this.SetFocus(this.Textbox1); 即可为TextBox1控件设置焦点。
         如果打算也为表单设置个默认焦点控件,让光标默认停留在TextBox1上:
         <form runat="server" defaultfocus="TextBox1">
    5.跨页面数据发送:
         如果你需要多个页面发送数据到同一个表单程序进行处理,或者数据在多个页面之间传输处理的话,你就可以使用ASP.NET 2.0这个新特性。例如,我打算把Default.aspx页里TextBox1里的文本数据发送到Default2.aspx页面进行处理:
         Default.aspx页:
         <%@ Page Language="C#" %>
         <script runat="server">
             void Button2_Click(object sender, EventArgs e)
             {
                 Label1.Text = "Hi," + TextBox1.Text + ". This is Default.aspx";
             }
         </script>
        
         <html xmlns="http://www.w3.org/1999/xhtml" >
         <head runat="server">
             <title>Untitled Page</title>
         </head>
         <body>
             <form id="form1" runat="server">
                 <asp:TextBox ID="TextBox1" Runat="server"></asp:TextBox>
                 <asp:Button ID="Button1" Runat="server" Text="PostToAnotherPage" PostBackUrl="~/Default2.aspx" />
                 <asp:Button ID="Button2" Runat="server" Text="PostToSelf" OnClick="Button2_Click" />
                 <br />
                 <asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label>
             </form>
         </body>
         </html>
         Default2.aspx页:
         <%@ Page Language="C#" %>
         <script runat="server">
             void Page_Load(object sender, System.EventArgs e)
             {
                 TextBox textBox1 = (TextBox)PreviousPage.FindControl("TextBox1");
                 this.Label1.Text = "Hi," + textBox1.Text + ". This is Default2.aspx!";
             }
         </script>
         <html xmlns="http://www.w3.org/1999/xhtml" >
         <head runat="server">
             <title>Untitled Page</title>
         </head>
         <body>
             <form id="form1" runat="server">
             <asp:label id="Label1" runat="server"></asp:label>
             </form>
         </body>
         </html>
      
    ADO.NETv2.0的一些特征。
         一.多活动结果集(MARS:Multiple Active Results Sets)允许一个连接支持多个并发命令和多个打开的结果集。你能通过一个查询打开一个结果集,并且在前一个仍然被打开及访问的情况下,你仍然可以在同一个连接上执行各种命令。
         二.查询和打开数据库连接的异步操作。新版本的ADO.Net提供了BeginExecuteReader, BeginExecuteNonQuery, EndExecuteReader 和 EndExecuteNonQuery.等函数供我们进行查询和打开数据库连接的异步操作。
         三.内置了对数据行分页的支持。Command类中的新增加的ExecutePageReader方法提供了更加有效的数据访问,数据将以单页而不是一个单独的列表显示。
         四.为SQL Serve 增加了更改通知,这将允许编写代码去缓存数据和结果集。但是,对任何更改的自动反应将会导致数据库中的原始数据无效。结合异步操作,这是一个伟大的特征。
         五.SQL Server XQuery(2005)现在支持用户自定义类型(UDFs),允许你像.NET程序集一样构建自己的数据类型并将他们放入数据库服务器和客户端,以便使用更自然有效的方式检索信息。
         六.一组叫做ObjectSpaces的类允许将数据直接作为对象而不是个值进行处理。
        
    XML现在成为了ADO.NET中的首要的类。你现在使用dataset作的任何事情将来都可以使用XML文档代替。
         一.将一系列的数据源和XML数据集成,并且发布了一种遵循相同规则的编程模型,以用来在ADO.NET中读取、修改数据。
         二.增加了对XQuery和XML视图的内置支持。这提供了一种在多个数据源之间进行分布式处理的技术,虽然,当前的发布是基于SQL Server 和XML 文档的。
         三.为SQL Server Yukon 在XML 数据存储、关系集成和XML数据管理技术方面提供了更好的支持
         四.XPathDocument类有一个主要的改变。内容现在能够被编辑,内置了更改组件以便自动跟踪修改、插入、删除活动。
         五.一个新的XPathChangeNavigator类将被引入。这个类允许通过编码检索在一个XPathDocument中的改变。并且还有一个XPathEditor的新类被用来执行改变。
         六.XML 视图的引入,提供了XML数据类型定义和相关数据类型定义的映射,将使得存储在SQL Server中的相关数据能够以XML形式浏览和处理
         七.一个新的XmlAdapter类被用来映射ADO.Net的DataAdapter类。它通过一个XML视图将一个XML文档和一个数据库连接起来,通过SQL声明的自动生成,以使数据的读取及其改变和一个数据库保持一致
         八.XQuery将通过一个新的XQueryProcessor类得到支持。XQueryProcessor类用来和XPathNavigator联合从使用W3C XQuery 语言的XML文档中查询和返回信息。
         九.SQL Server 的最新版本Yukon增加了一些和System.Xml 2.0相集成的特征。这包括为XML提供的新的一流的数据类型,这一数据类型使得SQL Server能够被用作XML文档的存储器。这允许在一个表中的列被标记为xml数据类型,XQuery 查询能够依据XML和相关架构执行并提供相应的类型信息
    关于2.0的一些意见:
       
         vs.net2005使用的.net framework2.0而vs.net2003使用的是.net framework1.1。
         从.net framework1.1到2.0。主要还是在类库上进行了扩充。就开发工具来说vs.net2005比2003更加强大,支持重构、测试集成等等功能。但是从总体上来看,个人觉得vs.net2005只是一个版本升级,并没有什么激动人心的技术革命。
       
         类库丰富了,工具强大了,开发环境启动速度快了,就是这样.
       
         我认为最激动人心的功能(基础)已经可以初步在2005中体现。不过暂时不能说,因为我相信这会是未来两三年最近动人心、新的web程序最具有优势的技术。
         诸如:新的事件、head、focus、controlState、ado.net的功能扩充,都没有什么,在没有这些功能的时候我也早已经直接实现,例如一个通用的函数负责给webcontrol对象输出脚本代码设置焦点,htmlGenericControl控件直接操作head中的各种标签,OR- mapping等等。
      
         最让我感兴趣的泛型支持,这以前可是C++这种高档玩意儿才有的功能。
       
         好像现在用得不是特别多咧! 还有人用2002呢, 这怎么说呢? 有些时候是开发工具变方便啦,但程序员却变懒了,什么事件都依赖好的开发工具,而不愿意自己动脑筋搞解决方案,Microsoft在这一点上好像是在搞垄断! 这也不一定是件好事!
         不是变了,是填加了功能了
      
         基本上还没有足够转移到2005的理由!
         
         2005有太多新技术了,这里有几个例子http://download.microsoft.com/download/8/1/d/81d789e2-0cbb-421e-b4f9-b40aabadd201/101SamplesCS.msi大伙看看,还有很多其他,像工作流,数据的异步处理等等,好多。
      
         还有微软的ajax技术--"Atlas"。     要谈本质,好像不多范型C++/CLI                                    来自:
    http://blog.chinaunix.net/u/5841/showart_267821.html算是比较全面吧,呵呵~
      

  9.   

    vs.2005和vs.2008的区别是什么?
      

  10.   

    http://blog.csdn.net/flon/archive/2007/12/17/1944104.aspx
      

  11.   

    http://www.uml.org.cn/net/201007262.asp