体验Visual Studio 2015 Windows Forms应用程序开发与维护
昨天到半夜还没有等到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应用程序开发与维护的更多相关文章
- Visual Studio 2015 和 Apache Cordova 跨平台开发入门
原文:Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一) 基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于V ...
- 体验Visual Studio 2015 之 MVC - 视图组建
VS2015 PERVIEW中可以创建MVC 项目. 我们可以 发现有几大亮点. 首先我们看目录结构: 当前项目包含两个主要的文件夹:Solution Items .src 很明显src文件夹下为当前 ...
- Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一)
基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于Visual Studio 安装 Xamarin 扩展的跨Android.iOS 和 Windows的 ...
- 在Visual Studio 2015 中添加SharePoint 2016 开发模板
前言 SharePoint 2016已经发布很久了,然而,默认安装VS2015以后,却没有SharePoint 2016的开发模板.其实问题很简单,和VS2012开发SharePoint 2013一样 ...
- Visual Studio 2015 + Windows 2012 R2, c++/cli Array::Sort() 抛出异常
在Windows7上编译就是正常. 可见Windows2012 R2缺少了一些东西. 另外,有一个现象一样,但原因不一样的 https://stackoverflow.com/questions/46 ...
- Windows 10和Visual Studio 2015 能给.Net方向的开发从业者带来什么?
.Net 多年前我们选择了你,现在在当前的移动互联网热火朝天的时代,你能给我们什么样的惊喜?面对IOS和android的势头,windows的移动端能否实现三国鼎立? windows 10 号称统一各 ...
- Visual Studio 2015 移动跨平台开发初体验
微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发. 还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息.显然,Xa ...
- Visual Studio 2015官方汇总包括下载和视频
7月20日 23:30 Visual Studio 2015正式版正式发布,作为微软新一代开发利器,在全地球乃至全宇宙乃至全太阳系中最强大 且没有之一的IDE(上述描述来自微博用户评论)跨平台支持成 ...
- 如何正确并完全安装Visual Studio 2015企业版本?
http://blog.csdn.net/code_godfather/article/details/47381631 [简介] 常用网名: 猪头三 出生日期: 1981.XX.XX 个人网站: ...
随机推荐
- 使用sklearn优雅地进行数据挖掘
目录 1 使用sklearn进行数据挖掘 1.1 数据挖掘的步骤 1.2 数据初貌 1.3 关键技术2 并行处理 2.1 整体并行处理 2.2 部分并行处理3 流水线处理4 自动化调参5 持久化6 回 ...
- Cobbler学习之二--Cobbler的Web管理和维护
Cobbler的Web管理模块和命令行模块是可以分开工作的,没有依赖关系. 1 WebUI的功能 查看所有的对象和配置文件 添加或者删除system,distro, profile 执行“cobble ...
- linq lamada
static void Main(string[] args) { List<Customer> cust = new List<Customer>() { ",Ci ...
- [置顶]PADS PCB功能使用技巧系列之NO.002- 如何走差分线?
差分信号在高速电路设计中应用越来越广泛,如USB.HDMI.PCI.DDR*等,承载差分信号的差分线主要优势有:抗干扰能力强,能有效抑制EMI.时序定位精确等,对于PCB工程师来说,最关注的是如何确保 ...
- yii2 mpdf
安装 php composer.phar require kartik-v/yii2-mpdf "*" 或者把 "kartik-v/yii2-mpdf": &q ...
- Git凭证存储(简单易懂,一学就会,认真看)
今天给自己提了一个问题,当我们在github.com或者gitlab上面新建仓库,并克隆到本地,首次使用的时候,会被问及用户名密码,但是这两个信息存在哪里呢? 带着这个问题,我开始搜索,并在<P ...
- Java Spring IOC用法
Java Spring IOC用法 Spring IoC 在前两篇文章中,我们讲了java web环境搭建 和 java web项目搭建,现在看下spring ioc在java中的运用,开发工具为In ...
- [.NET领域驱动设计实战系列]专题三:前期准备之规约模式(Specification Pattern)
一.前言 在专题二中已经应用DDD和SOA的思想简单构建了一个网上书店的网站,接下来的专题中将会对该网站补充更多的DDD的内容.本专题作为一个准备专题,因为在后面一个专题中将会网上书店中的仓储实现引入 ...
- AMD加载器实现笔记(二)
AMD加载器实现笔记(一)中,我们实现了一个简易的模块加载器.但到目前为止这个加载器还并不能称为AMD加载器,原因很简单,我们还不支持AMD规范中的config配置.这篇文章中我们来添加对config ...
- angular controller as syntax vs scope
今天要和大家分享的是angular从1.2版本开始带来了新语法Controller as.再次之前我们对于angular在view上的绑定都必须使用直接的scope对象,对于controller来说我 ...