適用於 Visual Studio 2013 的 ASP.NET 和 Web 工具 2013.2 版本資訊
by Microsoft
安裝注意事項
ASP.NET 和 Web 工具 for Visual Studio 2013.2 隨附於主要安裝程式中,並可在 其中下載Visual Studio 2013 Update 2。
文件集
您可以從 ASP.NET 網站取得 visual Studio 2013.2 ASP.NET 和 Web 工具 的教學課程和其他相關信息。
軟體需求
ASP.NET 和 Web 工具 for Visual Studio 2013.2 需要 Visual Studio 2013。
Visual Studio 2013.2 ASP.NET 和 Web 工具 的新功能
下列各節說明版本中引進的功能。
- 一個 ASP.NET 項目範本
- 在 IIS Express 上啟動 Web 應用程式時支援 SSL
- Visual Studio Web 編輯器增強功能
- 瀏覽器連結
- 支援 Visual Studio 中的 Azure App 服務 Web Apps
- 建立新的 Web 專案時建立遠端 Azure 資源
- Web 發佈增強功能
- ASP.NET Scaffolding
- NuGet 2.8.1
- ASP.NET Web Forms \(英文\)
- ASP.NET MVC 5.1.2
- ASP.NET Web API 2.1.2
- ASP.NET 網頁 3.1.2
- Entity Framework 6.1
- ASP.NET 身分識別 2.0.0
- Microsoft OWIN 元件
- ASP.NET SignalR 2.0.2
一個 ASP.NET 項目範本
- ASP.NET 項目範本的更新,以支援帳戶確認和密碼重設。
- 更新 ASP.NET Web API 範本,以支援使用內部部署組織帳戶進行驗證。
- ASP.NET SPA 範本現在包含以 MVC 和伺服器端檢視為基礎的驗證。 範本具有 WebAPI 控制器,只能由已驗證的使用者存取。
在 IIS Express 上啟動 Web 應用程式時支援 SSL
為了在 localhost 上瀏覽和偵錯 HTTPS 時消除安全性警告,我們新增了一個對話方塊,以允許 Internet Explorer 和 Chrome 信任自我簽署的 IIS Express SSL 憑證。
例如,Web 專案屬性可以設定為使用 SSL。 按兩下 [F4] 以顯示 [屬性] 對話框。 將 [SSL 已啟用] 變更為 true。 複製 SSL URL。
將 Web 專案屬性頁網頁索引標籤設定為使用 HTTPS 型 URL(除非您先前已建立 SSL 網站,否則 SSL URL 將會 https://localhost:44300/
是 。
按 CTRL+F5 執行應用程式。 請遵循指示來信任 IIS Express 產生的自我簽署憑證。
閱讀 [ 安全性警告] 對話框,如果您想要安裝代表 localhost 的憑證,請按兩下 [是 ]。
網站會顯示在 IE 或 Chrome 中,而不會在瀏覽器中顯示憑證警告。
Firefox 會使用自己的證書存儲,因此會顯示警告。
Visual Studio Web 編輯器增強功能
新的 JSON 專案專案和編輯器:我們已將 JSON 專案專案和編輯器新增至 Visual Studio。 目前的 JSON 編輯器功能包括色彩標示、語法驗證、大括弧完成、大綱、工具選項設定等等。
IntelliSense 現在支援 JSON 架構 v3 和 v4。 有一個架構下拉式方塊可以選擇現有的架構、編輯本機架構路徑,或直接將專案 JSON 檔案拖曳到其中以取得相對路徑。
新的 Sass (SCSS) 編輯器:我們在 VS2013 RTM 中新增了 LESS,我們現在有 Sass 專案專案和編輯器。 Sass 編輯器功能與 LESS 編輯器相當,包括色彩標示、變數和 Mixins IntelliSense、批註/取消批註、快速資訊、格式、語法驗證、大綱、goto 定義、色彩選擇器、工具選項設定等。
HTML、Razor、CSS、LESS 和 Sass 檔中的新 URL 選擇器:VS 2013 隨附於 Web Form 頁以外的 URL 選擇器。 HTML、Razor、CSS、LESS 和 Sass 編輯器的新 URL 選擇器是瞭解 '.' 的無對話框、流暢的輸入選擇器。 和會適當篩選 img 標籤和連結的檔案清單。
藉由新增更多功能來更新 LESS 編輯器
淘汰 Intellisense 升級:我們新增了 VS intelliSense 的非標準 KnockOut 語法,“ko-vs-editor viewModel:” 語法。 它可用來使用表單中的批注,系結至頁面上的多個檢視模型:
我們也新增了巢狀 ViewModel IntelliSense 的支援,因此您可以鑽研 ViewModel 上的深層巢狀物件。
<div data-bind="text: foo.bar.baz.etc" />
顯示的 IntelliSense 是 JavaScript 物件的完整 IntelliSense。
HTML、Razor、CSS、LESS 和 Sass 檔中的新 URL 選擇器:VS 2013 隨附於 Web Form 頁面以外的 URL 選擇器。 HTML、Razor、CSS、LESS 和 Sass 編輯器的新 URL 選擇器是瞭解 '.' 的無對話框、流暢的輸入選擇器。 和會適當篩選 img 標籤和連結的檔案清單。
瀏覽器連結
- 瀏覽器連結現在支援 HTTPS 連線,只要瀏覽器信任憑證,就會在 [儀錶板] 中列出該連線。
- 靜態 HTML 來源對應
- 對應數據的 SPA 支援
- 自動更新對應數據
支援 Visual Studio 中的 Azure App 服務 Web Apps
- 支援 Azure 登入。
- Web 應用程式的遠端偵錯和遠端檢視:我們現在在伺服器總管中支援 Web 應用程式的遠端偵錯 Azure App 服務,以及遠端檢視 Web 應用程式內容檔案。
建立新的 Web 專案時建立遠端 Azure 資源
我們在新的 Web 應用程式對話框中新增了 [ 建立遠端資源] 複選框。 藉由選擇,您將能夠整合建立新的 Web 應用程式、設定 Azure 發佈網站進行測試,以及以幾個簡單步驟建立發佈配置檔的體驗。
Web 發佈增強功能
- 改善發佈用戶體驗。
ASP.NET Scaffolding
- 列舉支援: 如果您的模型使用 Enums,則 MVC Scaffolder 會產生 Enum 的下拉式清單。 這會使用MVC中的列舉協助程式。
- Bootstrap 支援:更新MVC Scaffolding中的EditorFor範本,使其使用Bootstrap類別。
- 套件支援:MVC 和 Web API Scaffolders 將為 MVC 和 Web API 新增 5.1 個套件
下列螢幕快照示範 Scaffolding 模型。
模型程式代碼:
編譯模型程序代碼,以滑鼠右鍵按兩下,然後選取 [ 新增]、[ 新增 Scaffolded 專案]。
使用 Entity Framework 選擇具有檢視的 MVC5 控制器:
使用模型新增控制器 :
檢查產生的程式代碼,例如 Views/WeekdayModels/Edit.cshtml 包含
@Html.EnumDropDownListFor
:執行頁面以查看產生的列舉下拉式方塊,請注意,如果值可以是 null,則可以為下拉式方塊選擇空字串。 例如,[ 建立] 頁面會顯示下列內容:
NuGet 2.8.1
NuGet 2.8.1 RTM 將於 2014 年 4 月發行。 以下是版本信息的重點,但如需這些變更的詳細資訊,請查看 完整的版本資訊 。
目標Windows Phone 8.1 應用程式:NuGet 2.8.1 現在支援使用目標 Framework Monikers 'WindowsPhoneApp'、'WPA'、'WindowsPhoneApp81' 和 'WPA81' 的目標Windows Phone 8.1 應用程式。
相依性的修補程式解析:解析套件相依性時,NuGet 過去已實作策略,以選取符合套件相依性的最低主要和次要套件版本。 不過,不同於主要和次要版本,修補程式版本一律會解析為最高版本。 雖然此行為是善意的,但它卻缺乏安裝具有相依性之套件的決定性。
DependencyVersion 參數:雖然 NuGet 2.8 會變更 解析相依性的預設 行為,但它也會透過套件管理員控制台中的 -DependencyVersion 參數,對相依性解析程式新增更精確的控制。 參數可讓您將相依性解析為最低的可能版本(預設行為)、最高可能的版本,或最高的次要版本或修補程式版本。 此參數僅適用於 powershell 命令中的 install-package。
DependencyVersion 屬性:除了上述詳述的 -DependencyVersion 參數之外,NuGet 也允許在 nuget.config 檔案中設定定義預設值的新屬性,如果在叫用 install-package 中未指定 -DependencyVersion 參數。 任何安裝套件作業的 NuGet 封裝管理員 對話方塊也會遵守此值。 若要設定此值,請將下列屬性新增至 nuget.config 檔案:
<config> <add key="dependencyversion" value="Highest" /> </config>
使用 -WhatIf 預覽 NuGet 作業:某些 NuGet 套件可以具有深層相依性圖表,因此,在安裝、卸載或更新作業期間,先查看會發生什麼事會很有説明。 NuGet 2.8 新增標準 PowerShell -如果切換至 install-package、uninstall-package 和 update-package 命令,即可將命令套用至的整個封裝關閉可視化。
降級套件:安裝套件的發行前版本並不少見,以便調查新功能,然後決定回復到最後一個穩定版本。 在 NuGet 2.8 之前,這是卸載發行前版本套件及其相依性的多重步驟程式,然後安裝舊版。 不過,使用 NuGet 2.8 時,更新套件現在會將整個套件關閉(例如套件的相依性樹狀結構)復原至舊版。
開發相依性:許多不同類型的功能都可以以 NuGet 套件的形式提供,包括用來優化開發程式的工具。 這些元件雖然有助於開發新套件,但在稍後發佈時,不應該被視為新套件的相依性。 NuGet 2.8 可讓套件在 .nuspec 檔案中將本身識別為 developmentDependency。 安裝時,此元數據也會新增至安裝套件之專案的 packages.config 檔案。 當該 packages.config 檔案稍後在nuget.exe套件期間分析 NuGet 相依性時,它會排除標示為開發相依性的相依性。
適用於不同平臺的個別 packages.config Files:針對多個目標平臺開發應用程式時,每個個別建置環境通常會有不同的項目檔。 在不同的項目檔中,也常會取用不同的 NuGet 套件,因為套件對不同平臺有不同的支援層級。 NuGet 2.8 為不同的平臺特定項目檔建立不同的 packages.config 檔案,為此案例提供改善的支援。
後援至本機快取:雖然 NuGet 套件通常會從遠端資源庫取用,例如使用網路連線的 NuGet 資源庫 ,但有許多情況下用戶端未連線。 如果沒有網路連線,NuGet 用戶端就無法成功安裝套件,即使這些套件已在本機 NuGet 快取中的用戶端電腦上也一樣。 NuGet 2.8 會將自動快取後援新增至套件管理員控制台。
快取後援功能不需要任何特定的命令自變數。 此外,快取後援目前只能在套件管理員控制台中運作 - 此行為目前無法在套件管理員對話框中運作。
錯誤修正:其中一個主要錯誤修正是在 update-package -reinstall 命令中改善效能。
除了這些功能和上述效能修正之外,此 NuGet 版本也包含許多其他錯誤修正。 版本中已解決 181 個問題。 如需 NuGet 2.8 中修正的工作專案完整清單,請檢視此版本的 NuGet 問題追蹤器。
ASP.NET Web Forms \(英文\)
- Web Form 範本現在示範如何針對 ASP.NET 身分識別執行帳戶確認和密碼重設。
- Entity Data Source 控制件和 Entity Framework 6 的動態數據提供者。 如需詳細資訊,請參閱下列 MSDN 部落格: Entity Framework 6 的動態數據提供者和 EntityDataSource 控件。
ASP.NET MVC 5.1.2
ASP.NET Web API 2.1.2
ASP.NET 網頁 3.1.2
Entity Framework 6.1
Entity Framework 已針對運行時間和工具更新為 6.1 版。 Entity Framework (EF) 6.1 是 Entity Framework 6 的次要更新,包含許多錯誤修正和新功能。 如需 EF6.1 的詳細資訊,包括新功能文件的連結,請參閱 Entity Framework 版本歷程記錄。 此版本中的新功能包括:
- 工具匯總 提供一致的方式來建立新的EF模型。 這項功能擴充了 ADO.NET 實體數據模型精靈,以支援建立Code First模型,包括從現有的資料庫進行反向工程。 這些功能先前在 EF Power Tools 的 Beta 品質中提供。
- 交易認可失敗 的處理提供新的 System.Data.Entity.Infrastructure.CommitFailureHandler ,利用新引進的功能來攔截交易作業。 CommitFailureHandler 允許在認可交易時從聯機失敗自動復原。
- IndexAttribute 允許將屬性放在 Code First 模型中的屬性上來指定索引。 程序代碼首先會在資料庫中建立對應的索引。
- 公用對應 API 提供 EF 對屬性和類型如何對應至資料庫中數據行和數據表的資訊存取權。 在過去版本中,此 API 是內部版本。
- 能夠透過 App/Web.config 檔案設定攔截器(允許新增攔截器而不重新編譯應用程式)。
- DatabaseLogger 是新的攔截器,可讓您輕鬆地將所有資料庫作業記錄至檔案。 結合先前的功能,這可讓您輕鬆地開啟已部署應用程式的資料庫作業記錄,而不需要重新編譯。
- 已改善移轉模型變更偵測 ,讓 Scaffold 移轉更精確;變更偵測程式的效能也大幅增強。
- 效能改善 ,包括初始化期間減少的資料庫作業、LINQ 查詢中 Null 相等比較的優化、在更多案例中產生更快的檢視產生(模型建立),以及更有效率地具體化具有多個關聯之追蹤實體。
ASP.NET 身分識別 2.0.0
雙因素驗證:ASP.NET 身分識別現在支援雙因素驗證。 雙因素驗證會在密碼遭到入侵的情況下,為用戶帳戶提供額外的安全性層。 也有針對兩個因素代碼的暴力密碼破解攻擊的保護。
帳戶鎖定: 如果使用者輸入密碼或雙因素代碼不正確,則提供鎖定使用者的方式。 您可以設定使用者無效的嘗試次數和時間範圍。 開發人員可以視需要關閉特定用戶帳戶的帳戶鎖定。
帳戶確認: ASP.NET 身分識別系統現在支持帳戶確認。 在現今大部分的網站中,這是相當常見的案例,當您在網站上註冊新帳戶時,您必須先確認電子郵件,才能在網站中執行任何動作。 電子郵件確認很有用,因為它可防止建立假帳戶。 如果您使用電子郵件作為與網站用戶通訊的方法,例如論壇網站、銀行、電子商務或社交網站,這非常有用。
密碼重設: 密碼重設是使用者忘記密碼時可以重設密碼的功能。
安全性戳記(隨處註銷): 支援在使用者變更密碼或任何其他安全性相關信息時重新產生使用者的安全性令牌的方法,例如移除相關聯的登入(例如 Facebook、Google、Microsoft 帳戶等等)。 這需要確保以舊密碼產生的任何令牌都會失效。 在範例專案中,如果您變更用戶的密碼,則會為用戶產生新的令牌,而且任何先前的令牌都會失效。 這項功能為您的應用程式提供額外的安全性層,因為當您變更密碼時,將會從您登入此應用程式的任何地方(所有其他瀏覽器)註銷。
將 [主鍵類型] 設為 [使用者和角色] 可延伸:在 ASP.NET Identity 1.0 中,數據表 [使用者] 和 [角色] 的主鍵類型為字元串。 這表示使用 Entity Framework 在 SQL Server 中保存 ASP.NET 身分識別系統時,我們使用 nvarchar。 Stack Overflow 上這個預設實作以及根據傳入的意見反應,有許多討論。 我們提供了擴充性勾點,您可以在其中指定 「使用者」和「角色」數據表的主要索引鍵。 如果您要移轉應用程式,且應用程式正在儲存UserId是 GUID 或ints,此擴充性勾點特別有用。
在使用者和角色上支援 IQueryable:在 UsersStore 和 RolesStore 上新增 IQueryable 的支援,您可以輕鬆地取得使用者和角色的清單。
透過UserManager支援刪除作業
UserName 的索引編製:在 ASP.NET Identity Entity Framework 實作中,我們已使用 EF 6.1.0 中的新 IndexAttribute,在 Username 上新增唯一索引。 這可確保使用者名稱一律是唯一的,而且沒有競爭條件,您最終可能會有重複的用戶名稱。
增強型密碼驗證程式: ASP.NET Identity 1.0 隨附的密碼驗證程式是一個相當基本的密碼驗證程式,只會驗證最小長度。 有一個新的密碼驗證程式可讓您更充分掌控密碼的複雜度。 請注意,即使您開啟此密碼中的所有設定,我們也建議您啟用使用者帳戶的雙因素驗證。
IdentityFactory 中間件/CreatePerOwinContext:
- 使用者管理員:您可以使用 Factory 實作,從 OWIN 內容取得 UserManager 的實例。 此模式類似於我們從 OWIN 內容取得 SignIn 和 SignOut 的 AuthenticationManager。 這是針對應用程式的每個要求取得UserManager實例的建議方式。
- DbContextFactory:ASP.NET Identity 會使用 Entity Framework 在 SQL Server 中保存身分識別系統。 若要這樣做,身分識別系統具有 ApplicationDbContext 的參考。 DbContextFactory 中間件會針對您可以在應用程式中使用的每個要求,傳回 ApplicationDbContext 的實例。
ASP.NET 身分識別範例 NuGet 套件:範例 NuGet 套件可讓您更輕鬆地安裝和執行 ASP.NET 身分識別的範例,並遵循最佳做法。 這是MVC應用程式的範例 ASP.NET。 在生產環境中部署此程式碼之前,請先修改程式代碼以符合您的應用程式。 範例應該安裝在空的 ASP.NET 應用程式中。 如需套件的詳細資訊,請移至下列部落格文章: 宣佈 ASP.NET Identity 2.0.0 的 RTM
Microsoft OWIN 元件
此版本已修正許多 Bug。
ASP.NET SignalR 2.0.2
此版本已修正許多 Bug。 如需詳細資訊,請參閱 2.0.2 版 的版本資訊。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應