昨天到半夜还没有等到Visual Studio 2015的下载地址,实在熬不住就先休息了。北美地区的时区比北京时间要晚一些,今天早上到公司就看到Visual Studio 2015的下载地址,迅速的将Visual Studio 2015下载到电脑中体验一把。

作为老程序员,不关心ASP.NET 5的跨平台,这6年多时间一直坚守在Windows Forms平台下,不离不弃。Windows Forms很早停止更新,我认为这是好事。当初公司尝试选ORM开发框架时,曾考虑过Entity Framework,但是这个框架更新太频繁,公司没有精力去更进。即使是到后来EF完全开源,公司也没有时间去维护那样一套复杂的代码。出一点费用都可以,公司需要的是技术稳定,所以后来选择了LLBL Gen Pro。这个框架也几乎停止更新了,但是它的技术支持(Technical Support)还在,出现了问题去网站上提交个Post,很快就有技术人员回复,这种体验相当好。

等待了很久的.NET Native,Visual Studio 2015还是只限定于Universal Window Application程序,看来桌面程序编译成本机代码是不可行的,微软也没有计划要将Windows Forms的代码编译为本机代码。

Visual Studio 2015安装程序略有变化,C#,C++,VB是默认安装的,安装之后,版本显示为14.0.23107。

安装完成之后,.NET目录中的.NET 4.0目录被更换(In-Place Update),新的版本是v4.0.30319。

csc.exe的配置文件作了修改,指向了新的目录。

<?xml version ="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
</startup>
</configuration>

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

.NET 4.5不支持XP/Windows Server 2003,应该没有理由为了一点语法糖迁移到.NET 4.6。

 

1  窗体设计器的响应速度

感觉没有明显的改善,与Visual Studio 2013打开窗体设计的速度相当。自从Visual Studio 2012大幅度改善窗体设计器的效率,对每一个新版本的Visual Studio窗体设计器的效率都很好奇并期待变化。

2  工具箱中的控件版本还是.NET 4.0。

3 项目(Project)菜单中多一个刷新当前项目工具箱的菜单项,Project -> Refresh Project Toolbox Items。

有些Windows Forms项目会包含组件或控件,IDE默认会识别出来并显示在工具箱中,刷新工具箱的时机是项目编译完成之后,点这个菜单项可以手工刷新。

4 编辑(Edit)菜单下的智能提示(IntelliSense)子菜单多一个下拉菜单项,刷新类型引用,Eidt –> IntelliSense-> Refresh Remote References Ctrl+Shift+J

5 视图(View)菜单下其它窗口(Other Windows)增加资源浏览菜单(Resource View),

View-> Other Windows-> Resource View  Ctrl+Shift +E,这个窗体的作用是显示当前解决方案中所有项目的中定义的类型,有点类似于类查看器(Class View),但是只有三层结点,第一层是项目名称,第三层是项目下的命名空间,第三层是命名空间下的类型定义,双击类型定义跳转到类型定义文件中。

在开发过程中,程序集编译完成之后,我会用.NET Reflector查看程序集中的命名空间和类型是否规范,是否会出现WindowsApplication1,Consolse1这样没意义的命名空间和类型,这个功能节省了用.NET Reflector的时间。

6 视图(View)菜单下其它窗口(Other Windows)增加标签窗体Bookmarks。View-> Other Windows-> Bookmark Windows  Ctrl+K,Ctrl+W

标签名字支持自定义名称,比如上图中我将标签名字改成CNBLOGS。

 

7  视图(View)菜单下增加挂起的更改窗体Pending Checkins,View-> Pending Checkins 可能这个窗体以前版本的Visual Studio也有,但是这个版本的挂起更改窗体支持Visual SourceSafe2005。一般单机编程我都会配置Visual SourceSafe 2005,这个版本的IED工具仍然支持Visual SourceSafe 2005,并且支持查看挂起的更改。

8 调试Debug菜单下增加Profiler菜单项,可启动性能分析工具。

 

9 MSDN Library程序版本是Microsoft Help Viewer 2.2,支持离线或联机安装。今天还没有找到MSDN Library for Visual Studio 2015的下载地址。Visual Studio 2013一个令个不愉快的地方是它缺少离线帮助文件(Offline),常常是直接引用到Visual Studio 2012的帮助文件,微软也从未考虑提供过这个版本的离线帮助文件。希望Visual Studio 2015可以有正式的帮助文档。

 

10 出错窗口支持过滤。比如可按项目,按文档过滤错误信息。

右边显示信息的地方,可以选Build Only,IntelliSense Only或Build +IntelliSense 。

 

11 调试Debug下增加不调试时启动性能诊断工具(Start Diagnostics Tools Without Debugging..)。

这个菜单在第8条介绍的子菜单项中也出现过一次,以图为证:

两个菜单点开的都是同一个界面,对微软这样的设计有点小困惑。还有一个地方困惑我的,就是Visual Studio 2015的Splash 窗体,看下面的图:

为什么需要红色方框标识的这一块地方,有些不理解。我认为Visual Studio 2010的Splash窗体就设计的很好。

Visual Studio 2008的Splash窗体还会显现安装了哪些组件(C#,VB,Crystal Report等),这种设计也可以理解,唯独不理解Visual Studio 2012以为的这个空白地方有何用意。

 

暂时了解到这么多改进,因为.NET 4.5部署问题,再加上Visual Studio的功能相对已经非常完美(从Visual Studio2010开始),这个版本的Visual Studio的销量令人担忧。

体验Visual Studio 2015 Windows Forms应用程序开发与维护的更多相关文章

  1. Visual Studio 2015 和 Apache Cordova 跨平台开发入门

    原文:Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一) 基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于V ...

  2. 体验Visual Studio 2015 之 MVC - 视图组建

    VS2015 PERVIEW中可以创建MVC 项目. 我们可以 发现有几大亮点. 首先我们看目录结构: 当前项目包含两个主要的文件夹:Solution Items .src 很明显src文件夹下为当前 ...

  3. Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一)

    基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于Visual Studio 安装 Xamarin 扩展的跨Android.iOS 和 Windows的 ...

  4. 在Visual Studio 2015 中添加SharePoint 2016 开发模板

    前言 SharePoint 2016已经发布很久了,然而,默认安装VS2015以后,却没有SharePoint 2016的开发模板.其实问题很简单,和VS2012开发SharePoint 2013一样 ...

  5. Visual Studio 2015 + Windows 2012 R2, c++/cli Array::Sort() 抛出异常

    在Windows7上编译就是正常. 可见Windows2012 R2缺少了一些东西. 另外,有一个现象一样,但原因不一样的 https://stackoverflow.com/questions/46 ...

  6. Windows 10和Visual Studio 2015 能给.Net方向的开发从业者带来什么?

    .Net 多年前我们选择了你,现在在当前的移动互联网热火朝天的时代,你能给我们什么样的惊喜?面对IOS和android的势头,windows的移动端能否实现三国鼎立? windows 10 号称统一各 ...

  7. Visual Studio 2015 移动跨平台开发初体验

    微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发. 还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息.显然,Xa ...

  8. Visual Studio 2015官方汇总包括下载和视频

     7月20日 23:30 Visual Studio 2015正式版正式发布,作为微软新一代开发利器,在全地球乃至全宇宙乃至全太阳系中最强大 且没有之一的IDE(上述描述来自微博用户评论)跨平台支持成 ...

  9. 如何正确并完全安装Visual Studio 2015企业版本?

    http://blog.csdn.net/code_godfather/article/details/47381631  [简介] 常用网名: 猪头三 出生日期: 1981.XX.XX 个人网站: ...

随机推荐

  1. 天气预报API(四):全国城市代码列表(“新编码”)

    说明 天气预报API系列文章涉及到的天气网站10个左右,只发现了中国气象频道和腾讯天气城市代码参数特别: 暂且称 中国气象频道.腾讯天气使用的城市代码为 "新编码" 注:中国气象频 ...

  2. Vertica数据查询优化

    vertica是惠普公司推出的列式分布式数据库,在OLAP领域有其独到的地方,目前社区版免费,但是只能存放1T的数据.我在工作中维护的bi系统后端就是使用的vertica数据库,平时也经常需要对于数据 ...

  3. linux修改主机名的方法

    linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname   //查看机器名#hostname -i  //查看本机器名对应的ip ...

  4. 敏捷开发方法-Scrum

    为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中的各个环节,主要目的有两个,一个是进行知识的总结,另外一个是觉得网上很多学习资 ...

  5. 产品研发过程中UCD目标的制定与实现

    摘 要:以用户为中心的设计(UCD, User-Centered Design)是保障产品具有较好用户体验(User Experience)的基本活动,其中可用性目标是有效衡量 UCD 活动最终效果的 ...

  6. Hyper-V初涉:功能的添加与虚拟机的创建

    Hyper-V是微软提供的一款高效率的虚拟化管理软件,在早期的Windows服务器中配备Hyper-V组件,Windows 8是首次将企业用Hyper-V集成在个人系统中,可见虚拟化技术的发展之迅速. ...

  7. 基本XML解析---编写

    #import "ViewController.h" #import "DDXML.h" @interface ViewController () @end @ ...

  8. 对初学者的MPLS 常见问题

    对初学者的MPLS 常见问题 2015年6月8日 16:04 阅读 186 问:什么是多协议标签交换 (MPLS)? 答:MPLS是一种数据包转发技术,该技术使用标签来做出数据转发决策. 利用MPLS ...

  9. jq实现 按钮点击一次后 3秒后在可点击

    if(printRemind(selectPrintTemplate,selectOrders,orderStatus,isPreview)) //调用打印数据并打印 ajaxDataAndDoPri ...

  10. python 多线程和多进程基本写法

    #coding=utf-8 def aJob(arg): """ 提供给多线程调用 """ import threading t = thr ...