ASP.NET 和 Web 工具 2012.2 发行说明 (RTW)

本文档介绍 ASP.NET 和 Web 工具 2012.2 的发布。 这是 Visual Studio Web 工具和 ASP.NET 的更新。

安装说明

可以使用 Web 平台安装程序安装 ASP.NET 和 Web 工具 2012.2 for Visual Studio 2012。 这是 Visual Studio 2012 或 Visual Studio Express 2012 for Web 的更新,这是必需的。 如果未安装 Visual Studio,则将安装 Visual Studio Express 2012 for Web。

还可以手动安装 ASP.NET 和 Web 工具 2012.2。 必须安装 Visual Studio 2012 或 Visual Studio Express 2012 for Web。 然后,按照以下说明进行操作:

  1. 从下载中心下载 ASP.NET 和 Web Frameworks 2012.2 安装程序。
  2. 出现提示时,单击“运行”。 还可以保存该文件,以便稍后运行。
  3. 验证要更新的 Visual Studio 版本。 可以通过启动要更新的 Visual Studio 来执行此操作。 然后单击“帮助”菜单项。
    显示“帮助”下拉菜单的屏幕截图。大约 Microsoft Visual Studio Express 2012 for Web 以红色圈出。
  4. 如果看到菜单项“关于 Microsoft Visual Studio 2012 for Web”,请下载 Web 开发人员工具 2012.2 - Visual Studio Express 2012 for Web。 否则,请下载 Web 开发人员工具 2012.2 - Visual Studio 2012。
  5. 出现提示时,单击“运行”。 还可以保存该文件,以便稍后运行。

注意

ASP.NET 和 Web 工具 2012.2 版本不包括SQL Server Data Tools。 SQL Server和 Windows Azure SQL数据库提供了一组更丰富的数据库工具,包括脱机项目支持开发、架构比较和增强的数据库部署功能。 有关详细信息或安装SQL Server Data Tools请访问 https://go.microsoft.com/fwlink/?LinkID=237127

文档

有关 ASP.NET 和 Web 工具 2012.2 的教程和其他信息,请参阅 ASP.NET 网站 ( https://www.asp.net) 。

支持

ASP.NET 和 Web 工具 2012.2 正式发布和支持。 可以使用普通支持通道。 你还可以将问题发布到 ASP.NET 论坛 (https://forums.asp.net/) ,ASP.NET 社区成员经常能够在那里提供非正式支持。

软件要求

ASP.NET 和 Web 工具 2012.2 需要 Visual Studio 2012 或 Visual Studio Express 2012 for Web。

ASP.NET 和 Web 工具 2012.2 中的新功能

本部分介绍 ASP.NET 和 Web 工具 2012.2 版本中引入的功能。

工具

  • Page Inspector

  • 编辑器

    • 支持 CoffeeScript、Mustache、Handlebars 和 JsRender 的语法突出显示。
    • HTML 编辑器为敲除绑定提供 Intellisense。
    • 支持使用 LESS 生成动态 CSS 的 LESS 编辑和编译器。
    • 将 JSON 粘贴为 .NET 类。 使用此特殊粘贴命令将 JSON 粘贴到 C# 或 VB.NET 代码文件中,Visual Studio 将自动生成从 JSON 推断的 .NET 类。
  • 移动模拟器支持添加了扩展性挂钩,以便可以将第三方模拟器安装为 VSIX。 安装的模拟器将显示在 F5 下拉列表中,以便开发人员可以在各种移动设备上预览其网站。 有关此功能的详细信息,请参阅 Scott Hanselman 的博客文章 ,了解新的 BrowserStack 与 Visual Studio 集成

Web 发布

  • 网站项目现在具有与 Web 应用程序项目相同的发布体验,包括发布到 Windows Azure 网站。

  • 选择性发布 - 对于一个或多个文件,可以在发布到 Web 部署终结点) 后 (执行以下操作:

    • 发布所选文件。
    • 查看本地文件和远程文件之间的差异。
    • 使用远程文件更新本地文件或使用本地文件更新远程文件。

ASP.NET MVC 模板

  • 新的 Facebook 应用程序模板可帮助你轻松编写 Facebook Canvas 应用程序。 只需执行几个简单步骤,即可创建一个 Facebook 应用程序,从已登录用户获取数据并与其好友集成。 该模板包含一个新库,可维护构建 Facebook 应用程序时涉及的所有管道(包括身份验证、权限、访问 Facebook 数据等), 有关使用 Facebook 应用程序模板的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkID=269921
  • 使用新的单页应用程序 MVC 模板,开发人员可以在 ASP.NET Web API 之上使用 HTML 5、CSS 3 以及常用的 Knockout 和 jQuery JavaScript 库构建交互式客户端 Web 应用程序。 该模板包含一个“todo”列表应用程序,该应用程序演示了生成使用 RESTful 服务器 API 的 JavaScript HTML5 应用程序的常见做法。 可以在 中 https://www.asp.net/single-page-application了解详细信息。
  • 现在可以创建一个 VSIX,用于将新模板添加到“ASP.NET MVC 新建项目”对话框。 在此处了解操作方法: https://go.microsoft.com/fwlink/?LinkId=275019
  • FixedDisplayModes 包 - MVC 项目模板已更新为包含新的“FixedDisplayModes”NuGet 包,其中包含 MVC 4 中 bug 的解决方法。 有关包中包含的修补程序的详细信息,请参阅此博客文章 (/archive/blogs/rickandy/asp-net-mvc-4-mobile-caching-bug-fixed) 。

ASP.NET Web API

ASP.NET Web API已通过多项新功能得到增强:

  • ASP.NET Web API OData
  • ASP.NET Web API跟踪
  • ASP.NET Web API帮助页

ASP.NET Web API OData

ASP.NET Web API OData 使你能够灵活地在任何数据源上生成具有丰富业务逻辑的 OData 终结点。 使用 ASP.NET Web API OData 可以控制要公开的 OData 语义量。 ASP.NET Web API OData 包含在 ASP.NET MVC 4 项目模板中,也可从 NuGet (https://www.nuget.org/packages/microsoft.aspnet.webapi.odata) 获取。

ASP.NET Web API OData 当前支持以下功能:

  • 通过应用 [Queryable] 属性启用 OData 查询语义。
  • 轻松验证 OData 查询并限制支持的查询选项、运算符和函数集。
  • 参数直接绑定到 ODataQueryOptions 以获取查询的抽象语法树表示形式,然后可以验证并应用于 IQueryable 或 IEnumerable。
  • 通过在 [Queryable] 属性上指定结果限制,启用服务驱动的分页和下一页链接生成。
  • 使用 $inlinecount 请求匹配资源总数的内联计数。
  • 控制 null 传播。
  • $filter中的任意/所有运算符。
  • 按约定推断实体数据模型,或以类似于 Entity Framework Code-First 的方式显式自定义模型。
  • 通过派生自 EntitySetController 来公开实体集。
  • 用于公开导航属性、操作链接和实现 OData 操作的简单可自定义约定。
  • 使用 MapODataRoute 扩展方法简化了路由。
  • 通过公开多个 EDM 模型支持版本控制。
  • 公开服务文档和$metadata,以便可以为 Web API 生成客户端 (.NET、Windows Phone、Windows 应用商店等) 。
  • 支持 OData Atom、JSON 和 JSON 详细格式。
  • 创建、更新、部分更新 (PATCH) 和删除实体。
  • 查询和操作实体之间的关系。
  • 创建与路由相连的关系链接。
  • 复杂类型。
  • 实体类型继承。
  • 集合属性。
  • 枚举。
  • OData 操作。
  • 构建于与 WCF Data Services 相同的基础之上,即 ODataLib (https://www.nuget.org/packages/microsoft.data.odata) 。

有关 ASP.NET Web API OData 的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=271141

ASP.NET Web API跟踪

ASP.NET Web API跟踪将 Web API 中的跟踪数据与 .NET 跟踪集成。 现在,在 Web API 项目模板中默认启用它。 Web API 的跟踪数据将发送到“输出”窗口,并通过 IntelliTrace 提供。 ASP.NET Web API跟踪使你能够通过与 Windows Azure 诊断 集成,跟踪托管在 Windows Azure 上的 Web API 的相关信息。 还可以使用 ASP.NET Web API跟踪 NuGet 包https://www.nuget.org/packages/microsoft.aspnet.webapi.tracing () 在任何应用程序中安装和启用 ASP.NET Web API跟踪。

有关配置和使用 ASP.NET Web API跟踪的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkID=269874

ASP.NET Web API帮助页

默认情况下,“ASP.NET Web API帮助页”现在包含在 Web API 项目模板中。 ASP.NET Web API帮助页自动生成 Web API 的文档,包括 HTTP 终结点、支持的 HTTP 方法、参数以及示例请求和响应消息有效负载。 文档会自动从代码中的注释中拉取。 还可以使用 ASP.NET Web API帮助页 NuGet 包 () 将 ASP.NET Web API https://www.nuget.org/packages/microsoft.aspnet.webapi.helppage 帮助页添加到任何应用程序。

有关设置和自定义 ASP.NET Web API帮助页的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=271140

ASP.NET SignalR

ASP.NET SignalR 可以轻松地将实时 Web 功能添加到 ASP.NET 应用程序,使用 WebSocket(如果可用),如果不可用,则自动回退到其他技术。

有关使用 ASP.NET SignalR 的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=271271

ASP.NET 友好 URL

ASP.NET FriendlyURLs 使 Web 窗体开发人员无需 .aspx 扩展) 即可轻松生成外观简洁的 URL (。 它几乎不需要配置,可以与现有的 ASP.NET v4.0 应用程序一起使用。 FriendlyURLs 功能还支持在桌面视图和移动视图之间切换,使开发人员能够更轻松地向其应用程序添加移动支持。

有关安装和使用 ASP.NET 友好 URL 的详细信息,请参阅 http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx

已知问题和中断性变更

本部分介绍 ASP.NET 和 Web 工具 2012.2 版本中的已知问题和中断性变更。

安装问题

Visual Studio 2012 的无序安装

安装 ASP.NET 和 Web 工具 2012.2 后安装 Visual Studio 2012 的其他 SKU 需要修复操作。 考虑以下序列:

  1. 安装 Visual Studio 2012 Express for Web
  2. 安装 ASP.NET 和 Web 工具 2012.2
  3. 安装 Visual Studio 2012 Professional、Premium 或 Ultimate

步骤 2 只会导致安装 Express for Web 的更新。 若要确保在步骤 3 期间安装的其他 SKU 包含更新,需要修复 ASP.NET 和 Web 工具 2012.2 以安装最后一个 SKU 的更新。 如果步骤 1 和 3 中的 SKU 被撤销,这同样适用。

打开 Visual Studio 时安装 Microsoft ASP.NET 和 Web 工具 2012.2

如果在安装 Microsoft ASP.NET 和 Web 工具 2012.2 期间打开 VS,则 Visual Studio 可能最终处于错误状态。 建议用户在继续安装之前关闭所有 Visual Studio 实例。

在安装过程中取消 ASP.NET 和 Web 工具 2012.2 安装

在安装过程中取消 ASP.NET 和 Web 工具 2012.2 安装程序将使 Visual Studio 处于错误状态。 若要解决此问题,请执行以下步骤:

  • 转到“添加/删除程序”
  • 卸载 Microsoft ASP.NET 和 Web 工具 2012.2(如果存在)。
  • 重新安装 Microsoft ASP.NET 和 Web 工具 2012.2

卸载 ASP.NET 和 Web 工具 2012.2 后,缺少 ASP.NET MVC 4 模板和 Razor v2 网站模板

卸载 ASP.NET 和 Web 工具 2012.2 还会从 Visual Studio 2012 卸载所有 ASP.NET MVC 4 和 Razor v2 网站模板。

解决方法是修复 Visual Studio 2012 安装,以重新安装 ASP.NET MVC 4 和 Razor v2 网站模板。

工具问题

项目创建期间报告的 NuGet 错误

安装 ASP.NET 和 Web 工具 2012.2 后,在创建 MVC 4 项目时可能会看到以下错误

显示 Microsoft Visual Studio 错误消息的屏幕截图。

ASP.NET 和 Web 工具 2012.2 附带 NuGet 2.1,并将在 Visual Studio 2012 中升级扩展。 在某些情况下,VSIX 安装程序将无法正确更新 VSIX。 使用以下步骤可以解决此问题:

  1. 以管理员身份启动 Visual Studio 2012

  2. 转到“工具->扩展和汇报”并卸载 NuGet。

  3. 关闭 Visual Studio

  4. 导航到 ASP.NET 和 Web 工具 2012.2 安装文件夹:

    1. 对于 Visual Studio 2012: Program Files\Microsoft ASP.NET\ASP.NET Web Stack\Visual Studio 2012
    2. 对于 Visual Studio 2012 Express for Web:Program Files\Microsoft ASP.NET\ASP.NET Web Stack\Visual Studio Express 2012 for Web
  5. 双击 NuGet.Tools.vsix 重新安装 NuGet

Web API 问题

分析 $filter 和 DateTime 文本中的问题

OData URI 分析程序无法正确分析部分日期时间文本。 例如,$filter=start eq datetime'2012-12-31T12:00' 无法正确分析。 解决方法是使用完整的文本,$filter=start eq datetime'2012-12-31T12:00:00'。

OData 不支持不区分大小写的属性名称。

OData 不支持 OData 查询和 odata 路径中不区分大小写的属性名称。

如果用户在 javascript 客户端和服务器端具有不同的大小写,他们可能会遇到此问题。 此问题是在 odata 协议中设计而来的。 但是,许多用户报告此问题。 若要解决此问题,用户必须更正 URL 中的案例。

默认 OData 路由约定不支持对导航属性进行 POST/PUT。

默认 OData 路由约定不支持对导航属性进行 POST/PUT。 我们在默认约定中缺少此常用约定。

若要解决此问题,用户需要扩展新的路由约定以支持它。

Facebook 模板问题

Facebook 应用程序模板仅适用于 .NET 4.5

必须在“新建项目”对话框的框架下拉列表中选择 .NET 4.5,才能在 ASP.NET MVC 4 中看到 Facebook 应用程序模板。

实时更新控制器

借助 Facebook 应用程序模板,用户可以轻松创建 Web API 控制器来处理来自 Facebook 的实时更新。 如果开发计算机位于 NAT 后面,则控制器可能无法在未进行进一步网络配置的情况下正常工作。 有关详细信息,请参阅此处: http://facebook.stackoverflow.com/questions/5259467/can-a-computer-behind-a-nat-router-receive-realtime-updates-from-facebook

查询字符串值与 Facebook OAuth 参数冲突

以下字段与 Facebook OAuth 对话框的回调 URL 冲突。 不要使用以下名称添加自己的查询字符串值:code、error、error_description、error_reason。

将 Page Inspector 与 Facebook 模板配合使用

调试 Facebook 应用程序时,不能使用 Visual Studio 2012 中的 Page Inspector 功能。 Page Inspector当前不支持 iframe。

单页应用程序模板问题

使用 JQuery 1.9/Knockout 2.2.1 更新时,在运行默认 MVC SPA 项目时,无法正确处理新的 todo 项编辑进入焦点事件。

使用 JQuery 1.9/Knockout 2.2.1 更新时,在运行默认 MVC SPA 项目时,在将新的待办事项输入到待办事项列表后,新的待办事项编辑输入不再焦点回到新的待办事项编辑框。

若要解决引用 http://knockoutjs.com/documentation/hasfocus-binding.html的解决方法,请对以下示例代码进行类似的修复:

文件todo.model.js
函数 todolist (数据) ,添加以下内容:
self.isSelected = ko.observable (false) ;

函数 todoList.prototype.addTodo,添加以下黑文本:
self.isSelected (true) ;
self.newTodoTitle (“”) ;

文件 index.cshtml,添加以下黑文本:
<form data-bind=“submit: addTodo”>
<input class=“addTodo” type=“text” data-bind=“value: newTodoTitle, 占位符: 'Type here to add', blurOnEnter: true, hasfocus: isSelected, event: { blur: addTodo }” />
</形式>