发布Visual Studio 2012 RC——Web汇总


[原文发表地址]  Visual Studio 2012 RC is released - The Big Web Rollup

[原文发表时间]  2012-05-31 21: 24

今天Visual Studio 2012 RC 版(发行候选版) 问世了。(它是2012,因此2010+ 211 更有意义 )随着我们朝着最终发行版的方向,此RC中有很多针对Web 开发的好的改进。下面是来自"尖括号团队"中我最喜欢的一些新功能。这是我对网络平台和工具团队的称呼。我希望继续这样称它。

Web 优化

自Beta版以来,有很多针对 web 优化(缩小和捆绑)框架的重大更改。在Beta版中,你不能控制将什么捆绑在一起以及采用什么顺序捆绑,因此它已被移到了 BundleConfig.cs (或.vb)中,那儿你能整体控制它,但一切都只在框外运行。API 已经得到了简化,而且稍微顺畅了点,这意味着更容易阅读和编写了。

在Beta版中,呈现束需要一些愚蠢的语法和大量重复的命名空间。在RC中就变得很简单,也很不错:

@Styles.Render("~/Content/themes/base/css")

@Scripts.Render("~/Scripts/js")

并且,您可以使用参数数组来更改:

@Styles.Render("~/Content/themes/base/css", "~/Content/css")

另外,当您在调试模式下时,束没有被捆绑,但是当发布时,就被捆绑了,你无需改变你的标记。web.config中的一般编译标记控制着它的行为,如果你有特殊需要的话,你当然可以覆盖BundleTable.EnableOptmizations 属性,

<compilation debug="true"></compilation>

改进的最好的地方是你可以插入自定义库。如果你不喜欢所包括的缩小技术或者想要添加你自己的,你可以实现这一点。Howard和团队为我展示了这个小示例,它为LESS文件添加了支持,并把这些文件转换为CSS, 然后运行如下结果。

   1: public class LessTransform : IBundleTransform
   2: {
   3:     public void Process(BundleContext context, BundleResponse response)
   4:     {
   5:         response.Content = dotless.Core.Less.Parse(response.Content);
   6:         response.ContentType = "text/css";
   7:     }
   8: }

然后捆绑*.less 文件,并将它们转换为你所喜欢的。

   1: var lessBundle = new Bundle("~/My/Less").IncludeDirectory("~/My", "*.less");
   2: lessBundle.Transforms.Add(new LessTransform());
   3: lessBundle.Transforms.Add(new CssMinify());
   4: bundles.Add(lessBundle);

模板和更多

拥有一个好的模板是非常重要的,我们会在现在的和最终版本中对模板添加更多的内容和改进。此外,因为 Web 团队已经外部化了模板 (web 模板本身是可以带外更新的扩展), 你甚至可以期待在最终版本之后的酷且有用的更新。

针对 ASP.NET MVC引入了一个空的模板,它看上去真的像是空的。它正是大家所想要的 !所有模板中的标记是清洁器,在以前默认情况下是 HTML5。

ASP.NET Web Forms 模板包括了对如上所述的Web 优化框架的支持。ASP.NET Web Forms (喜欢还是不喜欢它!;)) 继续与ASP.NET MVC共享功能。正如我之前所说的,因为它是所有的One ASP .NET MVC。这意味着路由、 供应商、 模型绑定、HTML5 支持、 Web 优化以及更多你可以使用的功能,它们都是 ASP .NET的一部分,而无论你选择使用哪一个框架。

Web API 现在包括基架支持(Web Forms很快也会包括该支持),所以你可以轻松地从你的模型中制作一个 CRUD (创建、 读取、 更新、 删除)。有了所有的基架,你可以自定义为你所喜欢的。

Web API has Scaffolding too!

我们正在我们的模板中推出 Modernizr、Knockout、jQuery、 jQuery 验证和 jQuery Mobile,你可以使用NuGet来随意地引入更多。

针对前端Web 开发人员的微小而快乐的功能

注意,前端的人们。通过开发和调试,团队已经查看了来自文件|新项目的完整体验,并尝试 (和继续尝试) 改善在开发 web 应用程序时,会伤害到你的"微小的削减"。大的新功能都很有趣,但有时适合您的工作流的小功能让生活更美好,也更顺畅。我喜欢微小而快乐的功能。

如果你下拉调试菜单,你会看到它查找了所有的浏览器,所以您不仅可以在无需寻找的情况下使用你所喜欢的那一个浏览器,而且也可以快速地更改您的默认设置。此外,他们已经添加了一个Browse With菜单到下拉菜单中,因此使用ASP .NET MVC 的家伙不必在右键文本菜单中寻找它 。

The debug dropdown now include a Browse With option

如果您选择Browse With,它将弹出此熟悉的对话框。现在请尝试在多个浏览器上Ctrl- 点击,然后单击浏览。

Browse With supports multiple selection

工具栏将会跟着改变,所以现在您只需点击一次就可以启动多个浏览器, 使用F5 或 Ctrl F5。

Multiple Browsers is a choice now for launching your app

当您单击它时,您可以为步骤浏览调试选择特定的浏览器,然后也将启动其他浏览器。

Pick a browser for debugging

这是一个小的,但我很欣赏的令人快乐功能。

CSS JavaScriptHTML 编辑器的改进

许许多多的改进以及新的"智能"被引入到了 CSS,JavaScript 和 HTML 编辑器中。例如,HTML 编辑器得到了更新,其中包括最新的 HTML5 intellisense和基于最新的 W3C 标准的验证。这儿是所有你想要的属性和标记。

aria and data attributes are available

如果我在 CSS 编辑器中键入一个连字符 (横杠线),我将获取一个所有供应商特定前缀的智能列表,甚至是操作 !这些列表包括帮助文本以及属性。

We love you Opera, honest.

字体和颜色(我的最爱)以及拾色器有一个下拉菜单。

That's a color picker, my friend

这些都只是几个润色。还有很多新的代码段和扩展。

发布

请确保登录在线的 6月7 日Scott Gu 的Windows Azure 事件, 你会看到在 Visual Studio 中针对发布所做的非常酷的改进。在那之前,您可以签出像这些有关发布的新功能:

  • 更新清洁器和更简单的发布用户界面
  • 在发布对话框中运行 EF 代码首次迁移
  • 增量数据库架构发布和预览
  • 发布时,更新了web.config 中的连接字符串(包括复杂的 EF 连接字符串)
  • 在发布期间,发布对话框针中,针对不受信任的证书的提示
  • 自动将VS2010 发布配置文件转换为新的 VS2012格式
  • 你可以在命令行中使用发布配置文件来轻松地发布:
    • msbuild mywap.csproj /p:DeployOnBuild = true ;PublishProfile = MyProfileName
  • 您还可以创建特定配置文件的转换,即 web.Production.config,但我们还没有更新工具来创建这些。在此例中,如果你有一个特定配置文件的转换,我们将首先执行生成配置文件,然后是配置文件。

ASP.NET ASP.NET Web Forms

除了我之前谈过的像模型绑定和更好的 HTML5 支持的新功能之外,还有:

  • 协助异步开发ASP.NET的更新:
    • HttpResponse.ClientDisconnectedToken: 当客户端断开基层 web 服务器的连接时,CancellationToken会以异步方式通知应用程序。
    • HttpRequest.TimedOutToken:当请求超过配置的时间值时,CancellationToken异步将通知应用程序。
    • HttpContext.ThreadAbortOnTimeout: 允许应用程序控制请求超时的行为。默认值为 true。当设置为 false时, ASP.NET不将中止请求,而是置之不理,直到最后应用程序结束请求。
    • 通过在无效的时间里,在请求管道中启动异步工作,防止死锁和争用条件
  • 新增了一项应用程序功能,强行终止通过HttpRequest.Abort()请求的基层TCP 连接
  • 在Web Forms中改进了异步支持,其中包括支持异步页面和控件事件处理程序
  • 针对新的 ASP.NET绑定和缩小库的ScriptManager 支持
  • 用于扩展 Web Forms编译系统的改进:
    • 新的 ControlBuilderInterceptor 类,启用自定义的 Web Forms页面和控件编译输出
    • TemplateParser.ParseTemplate 方法。允许应用程序从一个 ASPX 标记的字符串中生成一个 ITemplate 实例
  • 支持实体框架枚举和动态数据中的空间数

Visual Studio 主题

啊,有争议的主题更改了。他们已经添加一堆散乱的颜色、 增亮了背景、根据你的状态而显示不同的状态栏颜色。我不确定我怎么看待全部大写字母的菜单,但老实我说不怎么看它们。大家都似乎被它们给吓坏了。我猜想(我不是一个设计师) 沿字母的上边缘有一个隐藏的水平标尺,如果你使用混合的大小写,他们将只会浮字。我们会看到会发生的事情,它也许会成为一个可选项,也许不会。比起菜单的外观,我更担心 web 功能。我认为RC看起来比最初的 beta 版好一些了,我理解在最终版本的黑暗主题中会有更多变化,以及更清晰的图标。你可以阅读更多以及在 Visual Studio 博客中查看并排的例子,并自己决定

Visual Studio Light Theme

我甚至尝试了来自http://studiostyl.es 的Rob 的Wekeroad 油墨黑暗主题。虽然我并不知道是否我准备好要切换黑暗主题,但很不错。

My Visual Studio Dark Theme

其他非Web的功能

还有些其他功能和有趣的说明(远远超过了这些):

  • 安装中恢复了自定义。
  • 直接覆盖Beta版来安装RC版。无需卸载。哈 !
  • Windows Vista支持.NET Framework 4.5
  • 在Metro应用程序中,XAML 编译器增量编译现在速度是Beta版的两倍
  • 投入生产许可证,这意味着您今天可以发布应用程序,并在需要它时获取支持。

偏僻的Gotcha和已知问题

请确保通读readme文件来确定没有可能会把你弄得一团糟的已知问题。与所有预发行软件一样,要小心。测试东西,并不要盲目地在你在意的系统上安装它。我在安装它时,但我也保留了一台Visual Studio 2010 SP1虚拟机,只是以防万一发现一些偏僻的问题。

目前为止我知道一个gotcha(雷区)。如果您在 Windows 8 发布预览上安装 Visual Studio 2012 RC,并正想尝试让 ASP.NET 3.5 (请注意是 3.5) 应用程序运行工作,你使用IIS Express的话就会有麻烦了。您可以通过Windows 8添加功能控制面板来安装IIS8来解决这一问题。只安装 IIS8 将修复由 IIS8 Express 所创建的一个坏注册表。在发布时将修复它。很偏僻,但需要注意。


Comments (0)

Skip to main content