共用方式為


ASP.NET 和 Web 工具 2012.2 版本資訊 (RTW)

本文件說明 ASP.NET 和 Web 工具 2012.2 的版本資訊。 這是 Visual Studio Web 工具與 ASP.NET 的更新。

安裝注意事項

適用於 Visual Studio 2012 的 ASP.NET 和 Web 工具 2012.2 可以使用 Web Platform 安裝程式進行安裝。 這是 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 Developer Tools 2012.2 - Visual Studio Express 2012 for Web。 否則,請下載 Web Developer Tools 2012.2 - Visual Studio 2012。
  5. 出現提示時,按一下 [執行] 。 您也可以儲存檔案以供稍後執行。

注意

ASP.NET and 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 網站提供 ASP.NET 和 Web 工具 2012.2 教學課程及其他相關資訊 (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 版本中引進的功能。

Tooling

  • Page Inspector

  • 編輯器

    • CoffeeScript、Mustache、Handlebars 和 JsRender 的支援語法醒目提示。
    • HTML 編輯器為 Knockout 繫結提供 Intellisense。
    • LESS 編輯和編譯器支援使用 LESS 來建置動態 CSS。
    • 貼上 JSON 做為 .NET 類別。 使用此 [特殊貼上] 命令將 JSON 貼到 C# 或 VB.NET 程式碼檔案中,然後 Visual Studio 會自動產生從 JSON 推斷的 .NET 類別。
  • 行動 Emulator 支援會新增擴充勾點,以便將第三方仿真器安裝為 VSIX。 已安裝的仿真器會顯示在 F5 下拉式清單中,讓開發人員可以在各種行動裝置上預覽網站。 在 Scott Hanselman 的新 BrowserStack 與 Visual Studio 整合的部落格文章中,深入了解此功能。

Web Publishing

  • 網站專案現在具有與 Web 應用程式專案相同的發佈體驗,包括發佈至 Windows Azure 網站。

  • 選擇性發佈 – 針對一或多個檔案執行下列動作 (發佈至 Web Deploy 端點後):

    • 發佈選取的檔案。
    • 查看本機檔案與遠端檔案之間的差異。
    • 使用遠端檔案更新本機檔案,或可使用本機檔案更新遠端檔案。

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 中錯誤解決方式。 如需有關套件中包含的修正的詳細資訊,請參閱 MVC 小組的這個部落格文章 (/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

當要透過任何資料來源建置具有豐富商業規則的 OData 端點時,ASP.NET Web API 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 資料服務相同的基礎進行建置,也就是 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 套件 (https://www.nuget.org/packages/microsoft.aspnet.webapi.helppage),將 ASP.NET Web API 說明頁面新增至任何應用程式。

如需有關設定和自訂 ASP.NET Web API 說明頁面的詳細資訊,請參閱https://go.microsoft.com/fwlink/?LinkId=271140

ASP.NET SignalR

ASP.NET SignalR 可以輕鬆在 ASP.NET 應用程式中新增即時 Web 功能,如果可用則使用 WebSocket,如果不可用則自動退回到其他技術。

如需有關使用 ASP.NET SignalR 的詳細資訊,請參閱https://go.microsoft.com/fwlink/?LinkId=271271

ASP.NET Friendly URL

ASP.NET FriendlyURL 可讓 Web Forms 的開發人員輕鬆產生更簡潔的 URL (不含 .aspx 延伸模組)。 它不需要組態設定,並且可以搭配現有的 ASP.NET v4.0 應用程式使用。 FriendlyURL 功能也能更輕鬆地將行動支援新增至其應用程式,方法是支援在桌面和行動檢視畫面之間切換。

如需安裝和使用 ASP.NET Friendly 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。

搭配 Facebook 範本使用 Page Inspector

偵錯 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 專案時,新的 todo 項目編輯會在將新的 todo 項目輸入至 todo 清單之後,不再將焦點回復到新的 todo 編輯方塊。

相關因應措施請參考http://knockoutjs.com/documentation/hasfocus-binding.html,並對下列範例程式碼進行類似的修正:

檔案 todo.model.js
function todolist(data),新增下列內容:
self.isSelected = ko.observable(false);

function todoList.prototype.addTodo,新增下列黑色文字:
self.isSelected(true);
self.newTodoTitle("");

檔案 index.cshtml,新增下列黑色文字:
<form data-bind="submit: addTodo">
<input class="addTodo" type="text" data-bind="value: newTodoTitle, placeholder: 'Type here to add', blurOnEnter: true, hasfocus: isSelected, event: { blur: addTodo }" />
</form>