{"id":104,"date":"2014-11-12T07:35:00","date_gmt":"2014-11-12T07:35:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/webdev\/2014\/11\/12\/announcing-asp-net-features-in-visual-studio-2015-preview-and-vs2013-update-4\/"},"modified":"2014-11-12T07:35:00","modified_gmt":"2014-11-12T07:35:00","slug":"announcing-asp-net-features-in-visual-studio-2015-preview-and-vs2013-update-4","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-asp-net-features-in-visual-studio-2015-preview-and-vs2013-update-4\/","title":{"rendered":"Announcing ASP.NET features in Visual Studio 2015 Preview and VS2013 Update 4"},"content":{"rendered":"<p>Today we released both <a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=517033\">Visual Studio 2015 Preview<\/a> and <a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=510314\">VS2013 Update 4<\/a>. The ASP.NET team provided many new features and updates to both the runtime and tooling in Visual Studio 2015 Preview, including:<\/p>\n<ul>\n<li><a href=\"#_ASP.NET_5_Preview\">ASP.NET 5 Preview runtime with VS2015 Preview only<\/a>.<\/li>\n<li><a href=\"#_ASP.NET_5_Preview_1\">ASP.NET 5 Preview tooling with VS2015 Preview only<\/a>.<\/li>\n<li><a href=\"#_ASP.NET_tooling_updates\">ASP.NET tooling update for both VS2015 Preview and VS2013 Update 4<\/a>.<\/li>\n<li><a href=\"#_ASP.NET_runtime_updates\">ASP.NET runtime updates, most of which are in VS2013 Update 4 as well<\/a>.<\/li>\n<li><a href=\"#_WebForm_4.6_Improvements\">WebForm 4.6 improvement for VS2015 Preview only<\/a><\/li>\n<\/ul>\n<p><a name=\"_ASP.NET_5_Preview\"><\/a><\/p>\n<h2>ASP.NET 5 Preview runtime<\/h2>\n<p>This release of Visual Studio supports creating and developing ASP.NET 5 Preview applications. ASP.NET 5 Preview is a lean and composable .NET stack for building modern web applications for both cloud and on-premises servers. It includes the following features:<\/p>\n<ul>\n<li>ASP.NET MVC and Web API, which have been unified into a single programming model.<\/li>\n<li>A no-compile developer experience.<\/li>\n<li>Environment-based configuration for a seamless transition to the cloud.<\/li>\n<li>Dependency injection out-of-the-box.<\/li>\n<li>NuGet everything, even the runtime itself.<\/li>\n<li>Run in IIS, or self-hosted in your own process.<\/li>\n<li>All open source through the <a href=\"http:\/\/www.dotnetfoundation.org\/\">.NET Foundation<\/a>, and takes contributions in <a href=\"https:\/\/github.com\/aspnet\">GitHub<\/a>.<\/li>\n<li>ASP.NET 5 runs on Windows with the .NET Framework or .NET Core.<\/li>\n<li>.NET Core is a new cloud optimized runtime that supports true side-by-side versioning.<\/li>\n<li>ASP.NET 5 runs on OS X and Linux with the Mono runtime.<\/li>\n<\/ul>\n<p>Visual Studio 2015 Preview includes Beta1 runtime packages for <a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=400692\">ASP.NET 5<\/a>. You can find all the details for the specific enhancements added and issues fixed in the published <a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=403951\">release notes<\/a> on GitHub.<\/p>\n<p>Here are some helpful links to get you started with ASP.NET 5 Preview:<\/p>\n<ul>\n<li>Introduction: <a href=\"https:\/\/github.com\/aspnet\/Home\">https:\/\/github.com\/aspnet\/Home<\/a><\/li>\n<li>Documentation: <a href=\"https:\/\/github.com\/aspnet\/Home\/wiki\">https:\/\/github.com\/aspnet\/Home\/wiki<\/a><\/li>\n<li>Music Store Sample: <a href=\"https:\/\/github.com\/aspnet\/musicstore\">https:\/\/github.com\/aspnet\/musicstore<\/a><\/li>\n<\/ul>\n<p><a name=\"_ASP.NET_5_Preview_1\"><\/a><\/p>\n<h2>ASP.NET 5 Preview tooling features<\/h2>\n<p>To optimize ASP.NET 5 Preview project development experiences in Visual Studio, we created new Visual Studio features including new templates, a new project system, combined IntelliSense to support multi-framework targeting, and an updated NuGet package manager.<\/p>\n<h2>Templates<\/h2>\n<h3>ASP.NET 5 templates<\/h3>\n<p>The &#8220;ASP.NET 5 Empty&#8221; and &#8220;ASP.NET 5 Starter Web&#8221; templates are added to &#8220;New ASP.NET Project&#8221; dialog for C#.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/7711.111214_0406_AnnouncingA1.png\" alt=\"\" \/><\/p>\n<p>The &#8220;ASP.NET 5 Class Library&#8221; and &#8220;ASP.NET 5 Console Application&#8221; templates are added to &#8220;New Project&#8221; dialog under &#8220;Visual C#&#8221;\/Web.<\/p>\n<p><a href=\"http:\/\/blogs.msdn.com\/controlpanel\/blogs\/posteditor.aspx\/C:Usersxinqiu.REDMONDAppDataLocalTempWindowsLiveWriter1286139640supfiles5A8275B2image[3].png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/2018.111214_0406_AnnouncingA2.png\" alt=\"\" border=\"0\" \/><\/a><\/p>\n<h3>ASP.NET 5 templates use a new project structure<\/h3>\n<p>The ASP.NET 5 project structure contains a <em>project.json<\/em> configuration file, and &#8220;<em>.kproj<\/em>&#8221; project file. ASP.NET 5 project templates uses a new project layout, creating a project folder under &lt;<em>solutionFolder<\/em>&gt;<em>src<\/em>, and use the <em>global.json<\/em> file to specify the project reference folder.<\/p>\n<p><em>Global.json<\/em> file contains &#8220;sources&#8221;: [&#8220;src&#8221;] element, indicating the &#8220;src&#8221; folder as the parent folder of project references. By default, project-to-project reference lookups will use the parent directory, plus the <em>global.json<\/em>-defined directories. For example, we have the following solution structure and <em>project.json<\/em> dependency visibility:<\/p>\n<p>Solution1global.json<\/p>\n<p style=\"margin-left: 36pt\">Content: {&#8221; sources&#8221;: [&#8220;src&#8221;] }<\/p>\n<p>Solution1srcWebApp1<\/p>\n<p style=\"margin-left: 36pt\">Possible Dependencies: &#8220;ClassLib1 &#8221; : &#8220;&#8221;<\/p>\n<p>Solution1srcClassLib1<\/p>\n<p style=\"margin-left: 36pt\">Possible Dependencies: &#8220;WebApp1&#8221; : &#8220;&#8221;<\/p>\n<p>Solution1testTestProj1<\/p>\n<p style=\"margin-left: 36pt\">Possible Dependencies: &#8220;WebApp1&#8221; : &#8220;&#8221;, &#8220;ClassLib1 &#8221; : &#8220;&#8221;, &#8220;TestProj2 &#8221; : &#8220;&#8221;<\/p>\n<p>Solution1testTestProj2<\/p>\n<p style=\"margin-left: 36pt\">Possible Dependencies: &#8220;WebApp1&#8221; : &#8220;&#8221;, &#8220;ClassLib1 &#8221; : &#8220;&#8221;, &#8220;TestProj1 &#8221; : &#8220;&#8221;<\/p>\n<p>The ASP.NET 5 Application template contains the target frameworks &#8220;aspnet50&#8221; and &#8220;aspnetcore50&#8243;specified in <em>project.json<\/em>. They display as &#8220;ASP.NET 5.0&#8221; and &#8220;ASP.NET Core 5.0&#8221; under the solution explorer&#8217;s <strong>References<\/strong> node.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/8625.111214_0406_AnnouncingA3.png\" alt=\"\" \/><\/p>\n<h3>The ASP.NET 5 web project template<\/h3>\n<p>The ASP.NET 5 web project template contains a layout to optimize for both static content and for package restore from <a href=\"https:\/\/www.npmjs.org\/\">NPM<\/a> and <a href=\"http:\/\/bower.io\/\">Bower<\/a>. The template puts static contents under the <strong>wwwroot<\/strong> folder that is determined by the&nbsp;<strong>webroot<\/strong>&nbsp;element of <em>project.json<\/em>.<\/p>\n<p>&#8220;ASP.NET 5 Starter Web&#8221; template contains <em>bower.json<\/em> to use with Bower to get frontend packages, <em>package.json<\/em> to use with NPM to get Grunt, and <em>gruntfile.js<\/em> to manage tasks defined by <em>project.json<\/em> scripts. The template&#8217;s <em>project.json<\/em> file contains &#8220;postrestore&#8221; and &#8220;prepare&#8221; scripts to use NPM, as well as Grunt and Bower to install necessary packages to the project during build. It also uses the &#8220;packExclude&#8221; element to define the folders and files that should be excluded during &#8220;KPM pack&#8221;.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/1778.111214_0406_AnnouncingA4.png\" alt=\"\" \/><\/p>\n<h3>The ASP.NET 5 Starter Web template and EF<\/h3>\n<p>The ASP.NET 5 Starter Web template contains the code first migration for Entity Framework 7.0.0-beta.<\/p>\n<p>You can use the <a href=\"https:\/\/github.com\/aspnet\/home\">k command<\/a> from the command line to perform an Entity Framework code first migration if you specified <span style=\"color: #2e75b6\"><span style=\"font-family: Consolas;font-size: 9pt;background-color: white\">&#8220;ef&#8221; <span style=\"color: black\">: <span style=\"color: #a31515\">&#8220;EntityFramework.Commands&#8221;<\/span><\/span><\/span> as <\/span>the file <em>project.json<\/em>&#8216;s commands element. For example:<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&#8220;k ef migration&#8221; from command line returns the following:<\/p>\n<p style=\"margin-left: 72pt\"><span style=\"font-family: Courier New\">Usage: ef migration [options] [command] <\/span><\/p>\n<p style=\"margin-left: 72pt\"><span style=\"font-family: Courier New\">Options: <\/span><\/p>\n<p style=\"margin-left: 72pt\"><span style=\"font-family: Courier New\"> -h|&#8211;help Show help information <\/span><\/p>\n<p style=\"margin-left: 72pt\"><span style=\"font-family: Courier New\">Commands: <\/span><\/p>\n<p style=\"margin-left: 72pt\"><span style=\"font-family: Courier New\"> add Add a new migration <\/span><\/p>\n<p style=\"margin-left: 72pt\"><span style=\"font-family: Courier New\"> apply Apply migrations to the database <\/span><\/p>\n<p style=\"margin-left: 72pt\"><span style=\"font-family: Courier New\"> list List the migrations <\/span><\/p>\n<p style=\"margin-left: 72pt\"><span style=\"font-family: Courier New\"> script Generate a SQL script from migrations <\/span><\/p>\n<p><span style=\"font-family: Courier New\">&nbsp;&nbsp;&nbsp;&nbsp;Sample commands can be: <\/span><\/p>\n<p><span style=\"font-family: Courier New\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k ef migration add MyMigrationWithOnly1ContextInCode <\/span><\/p>\n<p style=\"margin-left: 36pt\"><span style=\"font-family: Courier New\">k ef migration add MyMigration &#8211;context MyContext <\/span><\/p>\n<p><span style=\"font-family: Courier New\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k ef migration script &#8211;context MyContext <\/span><\/p>\n<p><span style=\"font-family: Courier New\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k ef migration apply &#8211;context MyContext <\/span><\/p>\n<h3>&#8220;ASP.NET 5 Starter Web&#8221; template and command line scaffolding<\/h3>\n<p>You can use <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2014\/08\/23\/how-to-customize-scaffolding-templates-for-asp-net-vnext.aspx\">command line scaffolding<\/a> the ASP.NET 5 Start Web template because &#8220;<span style=\"color: #2e75b6;font-family: Consolas;font-size: 9pt;background-color: white\">gen<\/span>&#8220;<span style=\"color: black;font-family: Consolas;font-size: 9pt;background-color: white\">:<\/span>&#8220;<span style=\"color: #a31515;font-family: Consolas;font-size: 9pt;background-color: white\">Microsoft.Framework.CodeGeneration<\/span>&#8220;is specified in <em>project.json<\/em>&#8216;s commands element.<\/p>\n<h2>Projects and Builds<\/h2>\n<h3>Project file no longer includes project directory items and references<\/h3>\n<p>ASP.NET 5 projects uses the <em>&lt;projectName&gt;.kproj<\/em> file as Visual Studio&#8217;s project file. The <em>.kproj<\/em> file doesn&#8217;t include any files from the current directory or sub-directories, as Visual Studio automatically includes and monitors the ASP.NET 5 project directory files.<\/p>\n<h3>Project.json file is used to define project information<\/h3>\n<p>Visual Studio uses the <a href=\"https:\/\/github.com\/aspnet\/Home\/wiki\/Project.json-file\"><em>project.json<\/em><\/a> file for reference and package dependencies, version definitions, framework configurations, compile options, build events, package creation meta-data, and run commands, as well as other details. This way, the project can be edited and run in Linux and on MacOS machines that do not have Visual Studio.<\/p>\n<h3>Dependencies node for Bower and NPM dependencies<\/h3>\n<p><strong>Solution Explorer<\/strong> for ASP.NET 5 Web Applications has a <strong>Dependencies<\/strong> node showing Bower and NPM dependencies. The Bower dependencies are from <em>bower.json<\/em> in the project folder. The NPM dependencies are from <strong>package.json<\/strong> in the project folder.<\/p>\n<p>In the <strong>Dependencies <\/strong>node, under the Bower and NPM&#8217;s package nodes, you can uninstall a package through the context menu command, which will automatically remove the package from the corresponding JSON file.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/0702.111214_0406_AnnouncingA5.png\" alt=\"\" \/><\/p>\n<h3>References node displays all frameworks defined in project.json file<\/h3>\n<p>In the <strong>Solution Explorer<\/strong> of an ASP.NET 5 Application, the <strong>References<\/strong> node displays all frameworks defined in the <em>project.json<\/em> file.<\/p>\n<h3>Project&#8217;s property page can be used to define runtime information<\/h3>\n<p>The ASP.NET 5 Application&#8217;s <strong>Property Page<\/strong> is a tool window and can be used to specify the <a href=\"https:\/\/github.com\/aspnet\/Home\/\">KRE<\/a> target version, the debug target, and whether binaries and NuGet packages should be created during a Visual Studio build.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/1881.111214_0406_AnnouncingA6.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/6175.111214_0406_AnnouncingA7.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/6574.111214_0406_AnnouncingA8.png\" alt=\"\" \/><\/p>\n<h3>Fast build time with Visual Studio<\/h3>\n<p>Visual Studio uses the Roslyn engine to compile ASP.NET 5 projects at design time. Therefore, the project has already been compiled when you issue a &#8220;build&#8221; request. In Visual Studio 2015 Preview, Visual Studio simply passes the design time compiler output to the build request. This avoids another build and improves performance when you build, run, or debug ASP.NET 5 projects.<\/p>\n<h3>Support NuGet Package Manager<\/h3>\n<p>Visual Studio supports the NuGet Package Manager and the NuGet Package Console for ASP.NET 5 projects.<\/p>\n<h3>Support xUnit tests in Test explorer<\/h3>\n<p>Visual Studio supports running and debugging for ASP.NET 5&nbsp;<span style=\"font-family: Segoe UI;font-size: x-small\"><a title=\"xUnit\" href=\"http:\/\/xunit.github.io\/\">xUnit<\/a><\/span>&nbsp;tests through test explorer. All you need to do is add the xUnit dependencies and test commands to the test project&#8217;s <em>project.json<\/em> file, as shown below (<em>NOTE<\/em>: To install the xUnit packages you will need to add <a href=\"https:\/\/www.myget.org\/F\/aspnetvnext\/api\/v2\">https:\/\/www.myget.org\/F\/aspnetvnext\/api\/v2<\/a> as a NuGet package source):<\/p>\n<p><span style=\"color: #2e75b6;font-family: Consolas;font-size: 9pt;background-color: white\">&#8220;dependencies&#8221;<span style=\"color: black\">: { <\/span><\/span><\/p>\n<p><span style=\"color: #2e75b6;font-family: Consolas;font-size: 9pt;background-color: white\">&#8220;Xunit.KRunner&#8221;<span style=\"color: black\">: <span style=\"color: #a31515\">&#8220;1.0.0-beta1&#8221;<\/span><\/span><\/span><\/p>\n<p><span style=\"color: black;font-family: Consolas;font-size: 9pt;background-color: white\">}, <\/span><\/p>\n<p><span style=\"color: #2e75b6;font-family: Consolas;font-size: 9pt;background-color: white\">&#8220;commands&#8221;<span style=\"color: black\">: { <\/span><\/span><\/p>\n<p><span style=\"color: #2e75b6;font-family: Consolas;font-size: 9pt;background-color: white\">&#8220;test&#8221;<span style=\"color: black\">: <span style=\"color: #a31515\">&#8220;Xunit.KRunner&#8221;<\/span><\/span><\/span><\/p>\n<p style=\"background: white\"><span style=\"color: black;font-family: Consolas;font-size: 9pt;background-color: white\">},<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/0652.111214_0406_AnnouncingA9.png\" alt=\"\" \/><\/p>\n<p>From the command line, you can use <strong>k test<\/strong> to get the running result, where <em>k.cmd<\/em> is from the current targeting <a href=\"https:\/\/github.com\/aspnet\/home\/\">K Runtime Environment<\/a>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/7181.111214_0406_AnnouncingA10.png\" alt=\"\" \/><\/p>\n<h3>Support Task Runner Explorer<\/h3>\n<p><a href=\"https:\/\/visualstudiogallery.msdn.microsoft.com\/8e1b4368-4afb-467a-bc13-9650572db708\">Task Runner Explorer<\/a> is integrated to Visual Studio, which can be enabled by selecting the <em>gruntfile.js<\/em> file&#8217;s context menu item <strong>Task Runner Explorer<\/strong>, or via Visual Studio&#8217;s menu-item <strong>View<\/strong>-&gt;<strong>Other Windows<\/strong>-&gt;<strong>Task Runner Explorer<\/strong>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/3225.111214_0406_AnnouncingA11.png\" alt=\"\" \/><\/p>\n<h2>IntelliSense and Error list<\/h2>\n<p>We give combined IntelliSense when showing IntelliSense in the code editor. An IntelliSense item that exists in one framework, but not in another will be listed in the IntelliSense with a warning sign. The IntelliSense tooltip indicates which framework supports it and which framework doesn&#8217;t.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/4466.111214_0406_AnnouncingA12.png\" alt=\"\" \/><\/p>\n<p>Build errors shows which target framework the error is from. So, if you have an error in the code that is recognized by two targeting frameworks, it will show in two places in the error and output error list, with the same description and file location, but with different project names which includes the framework name.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/0677.111214_0406_AnnouncingA13.png\" alt=\"\" \/><\/p>\n<h2>NuGet Package Manager<\/h2>\n<p>The NuGet Package Manager is rewritten using the tool window style and can be viewed per project and solution. Each project can open a <strong>NuGet Package Manager<\/strong> window at the same time. This change applies to all type of projects that uses NuGet Package Manager.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/7140.111214_0406_AnnouncingA14.png\" alt=\"\" \/><\/p>\n<p><a name=\"_ASP.NET_tooling_updates\"><\/a><\/p>\n<h2>ASP.NET tooling updates for both VS2015 Preview and VS2013 Update 4<\/h2>\n<p>All of the following tooling updates have been blogged with detail in <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2014\/10\/16\/announcing-new-web-features-in-visual-studio-2013-update-4-rc.aspx\">&#8220;Announcing new Web Features in Visual Studio 2013 Update 4 RC&#8221;<\/a>, except two new features:<\/p>\n<ul>\n<li><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">JSON editor IntelliSense for package.json\/bower.json <\/span><\/li>\n<li><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">JSON editor Duplicate property validation<\/span>\n<h3>&nbsp;<\/h3>\n<\/li>\n<\/ul>\n<h3><span style=\"color: #323e4f\">JSON Editor Improvement<\/span><\/h3>\n<h2>&nbsp;<\/h2>\n<p>We have made some improvements in the JSON editor, including performance improvements such as loading JSON schema asynchronously, caching of the child schemas, and better IntelliSense. Additionally, there are the following new features:<\/p>\n<ul>\n<li><strong>JSON Schema validation<\/strong><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;&#8211; <\/span>Add JSON schema validation feature, based on the schema that is defined in the schema drop-down list.<\/li>\n<li><strong>Un-minify context menu<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><\/strong>-You can right-click the JSON editor and select<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><strong>Un-minify context menu<\/strong><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span>to un-minify any long arrays in the JSON file.<\/li>\n<li><strong>Reload Schemas context menu<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><\/strong>-Visual Studio will cache the schema that is downloaded from Internet and will use the cache even after you restart Visual Studio. If you know the schema is changed, you can use the context menu<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><strong>Reload Schemas Ctrl+Shift+J<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><\/strong>to re-download the current used schema in the active JSON document, and then use it immediately on the current document.<\/li>\n<li>\n<div><strong>IntelliSense for package.json\/bower.json<\/strong> &#8211; In addition to proving IntelliSense and validation for both package.json and bower.json files, Visual Studio also provides live IntelliSense for both Bower and NPM packages directly within the JSON editor<\/div>\n<p style=\"background: white\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/1777.111214_0406_AnnouncingA15.png\" alt=\"\" \/><\/p>\n<\/li>\n<li>\n<div style=\"background: white\"><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\"><strong>Duplicate property validation<\/strong> &#8211; The JSON editor will now provide validation for any duplicate properties. This helps catch this common problem with JSON file authoring. <\/span><\/div>\n<p style=\"background: white\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2014\/11\/5700.111214_0406_AnnouncingA16.png\" alt=\"\" \/><\/p>\n<\/li>\n<\/ul>\n<h3><span style=\"color: #323e4f\">HTML Editor<\/span><\/h3>\n<h2>&nbsp;<\/h2>\n<p>Microsoft improved the HTML editor with some bug fixes, updated IntelliSense for web standards, and introduced the following new features:<\/p>\n<ul>\n<li><strong>Better client template formatting<\/strong><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;&#8211; <\/span>The HTML editor does not parse or format double-curly syntax {{&hellip;}} anymore. This is to make sure that the content of that syntax is not treated as being HTML and therefore being invalidated, nor does it try to format them, which cannot be done correctly by using the HTML formatter. This is great for Angular, Handlebars, Mustache, and other double-curly template syntaxes.<\/li>\n<li><strong>Support for custom elements, polymer-elements and attributes<\/strong><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;&#8211; The <\/span>HTML Editor no longer validates unknown attributes for custom elements, as there will be many custom made tags in different frameworks. Therefore, there will no longer be squiggles under the unknown elements.<\/li>\n<li><strong>Basic IntelliSense for Web Components<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><\/strong>&#8211; HTML Editor has IntelliSense for<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><strong>&lt;link<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span>rel=&#8221;import&#8221;<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span>\/&gt;<\/strong><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span>that is part of the<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<a href=\"http:\/\/www.w3.org\/wiki\/WebComponents\/\"><span style=\"color: #0072c6\">Web Components standard<\/span><\/a><\/span>.<\/li>\n<li><strong>HTML element tooltips<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><\/strong>&#8211; Tooltips are supplied for HTML elements in the editor.<\/li>\n<li><strong>#region support<\/strong><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;The <\/span>HTML editor now supports region folding. You can use surrounding snippets to surround the current selection as well.<\/li>\n<li><strong>Todo\/Hack comment support in Task List <\/strong>&ndash; The HTML editor now supports Todo, Hack etc. <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/vstudio\/zce12xx2(v=vs.120).aspx\">comment token<\/a> and display them in Task List.<\/li>\n<li><strong>Angular icons<\/strong> &#8211; Both Angular directives (ex. &lt;ng-view&gt;) and attributes (ex. ng-controller) now show in IntelliSense with an Angular logo to make it easy to identify them.<\/li>\n<li><strong>Bootstrap icons<\/strong> &#8211; The IntelliSense provided in HTML class attributes now shows the Bootstrap logo if the class name was defined by the Bootstrap CSS file.<\/li>\n<\/ul>\n<h2>CSS\/LESS\/Sass Editor<\/h2>\n<ul>\n<li><strong>Todo\/Hack comment support in Task List<\/strong> &ndash; The CSS\/LESS\/Sass editor now supports Todo, Hack etc. <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/vstudio\/zce12xx2(v=vs.120).aspx\">comment token<\/a> and display them in Task List.<\/li>\n<li><strong>@viewport fix for LESS editor<\/strong><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;&#8211; <\/span>In LESS editor,<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span>@viewport will not show verification warning anymore.<\/li>\n<li><strong>Provide many more snippets<\/strong>&nbsp;&ndash; The CSS\/LESS\/Sass Editor now provides more snippets to ease the development experience.<\/li>\n<\/ul>\n<h2>Browser Link<\/h2>\n<ul>\n<li><strong>CSS automatically synchronous<\/strong><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;&#8211; <\/span>Now, saving the CSS file or changing it externally (such as by using a LESS\/SASS compiler) will cause the whole CSS file to reload in the browser. If the file is in a state where it cannot auto-sync,<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><strong>Ctrl<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><\/strong>+<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><strong>S<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><\/strong>will cause an automatic reload, and this should put it back into a good state without having to refresh the linked browsers (<strong>Ctrl<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><\/strong>+<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><strong>Alt<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><\/strong>+<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><strong>Enter<\/strong>). The feature can be disabled in the toolbar.<\/li>\n<\/ul>\n<h2>WebJobs Tooling<\/h2>\n<p>Visual Studio now supports controlling web jobs through <strong>Server Explorer<\/strong> WebJobs&#8217; node inside an Azure Website in the following ways:<\/p>\n<ul>\n<li>View WebJobs nodes underneath Website nodes in <strong>Server Explorer<\/strong>.<\/li>\n<li>Start\/Stop Continuous WebJobs from <strong>Server Explorer<\/strong>.<\/li>\n<li>Run On-demand or Scheduled jobs from <strong>Server Explorer<\/strong>.<\/li>\n<li>View WebJob Dashboard from <strong>Server Explorer<\/strong>.<\/li>\n<\/ul>\n<p>You can use the<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span><strong>View Dashboard<\/strong><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<\/span>context menu to go to the Azure website&#8217;s WebJob dash board.<\/p>\n<h2>WebJobs SDK<\/h2>\n<ul>\n<li>\n<div style=\"background: white\"><span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">WebJobs SDK is pre-installed in the Azure WebJob project templates. <\/span><\/div>\n<\/li>\n<\/ul>\n<p><a name=\"_ASP.NET_runtime_updates\"><\/a><\/p>\n<h2>ASP.NET runtime updates<\/h2>\n<p>The following runtime packages are added to both VS2013 Update 4 and VS2015 Preview, except <em>EF6.1.2-beta1<\/em> and <em>EF 7<\/em>, which are in VS2015 Preview only.<\/p>\n<h2>Microsoft ASP.NET and Web ASP.NET MVC 5.2.2<\/h2>\n<p>Template packages are updated to use ASP.NET MVC 5.2.2. This release does not have any new features or bug fixes in MVC. We made a <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2014\/07\/28\/announcing-the-beta-release-of-web-pages-3-2-1.aspx\">change in Web Pages<\/a> for a significant performance improvement, and have subsequently updated all other dependent packages we own to depend on this new version of Web Pages.<\/p>\n<h2>ASP.NET Web API 5.2.2<\/h2>\n<p>In this release we have made a dependency change for\u202fJson.Net 6.0.4. For more information on what is new in this release of\u202fJson.NET, see\u202f<a href=\"http:\/\/james.newtonking.com\/archive\/2014\/08\/04\/json-net-6-0-release-4-json-merge-dependency-injection\">Json.NET 6.0 Release 4 &#8211; JSON Merge, Dependency Injection<\/a>. This release does not have any other new features or bug fixes in Web API. We have subsequently updated all other dependent packages we own to depend on this new version of Web API.<\/p>\n<h3>ASP.NET Web API OData 5.3.1<\/h3>\n<p>See this&nbsp;<a href=\"http:\/\/www.asp.net\/web-api\/overview\/releases\/whats-new-in-aspnet-web-api-odata-53\">release note for Web API OData 5.3<\/a>. <span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">See this <a href=\"http:\/\/www.asp.net\/web-api\/overview\/releases\/whats-new-in-aspnet-web-api-odata-53\">release note for Web API OData 5.3<\/a>. <\/span><\/p>\n<h2>SignalR 2.1.2<\/h2>\n<p>Template packages are updated to use SignalR 2.1.2. For more information, see the <a href=\"https:\/\/github.com\/SignalR\/SignalR\/releases\/tag\/2.1.2\"><span style=\"font-family: Segoe UI;font-size: 10pt\">SignalR 2.1.2 release note<\/span><\/a> on GitHub.<\/p>\n<h2>Microsoft Owin 3.0 Package<\/h2>\n<p>Template packages are updated to use Microsoft Owin 3.0 NuGet packages. For more information, see this<span style=\"color: #333333;font-family: Segoe UI;font-size: 10pt\">&nbsp;<a href=\"https:\/\/katanaproject.codeplex.com\/releases\/view\/113283\"><span style=\"color: #0072c6\">Katana 3.0 release note<\/span><\/a><\/span>.<\/p>\n<h2>NuGet 2.8.3<\/h2>\n<p>Support for DevExtreme project and BizTalkProject are added to 2.8.3. For more information, see the <a href=\"http:\/\/docs.nuget.org\/docs\/release-notes\/nuget-2.8.3\"><span style=\"font-family: Segoe UI;font-size: 10pt\">NuGet 2.8.3 Release Notes<\/span><\/a>.<\/p>\n<h2>ASP.NET Identity 2.1.0<\/h2>\n<p>Added SignInManager to make it easier to use security features such as Account Lockout, and Two-Factor Authentication for login. For more information, see <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2014\/08\/05\/announcing-rtm-of-asp-net-identity-2-1-0.aspx\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Announcing RTM of ASP.NET Identity 2.1.0<\/span><\/a>.<\/p>\n<h2>Entity Framework 6.x<\/h2>\n<p>This release includes the EF6.1.2-beta1 version of the runtime and tooling. EF6.1.2 is mostly about bug fixes, you can see a <a href=\"https:\/\/entityframework.codeplex.com\/workitem\/list\/advanced?keyword=&amp;status=Closed&amp;type=All&amp;priority=All&amp;release=EF%206.1.2&amp;assignedTo=All&amp;component=All&amp;sortField=AssignedTo&amp;sortDirection=Ascending&amp;page=0&amp;reasonClosed=Fixed\"><span style=\"color: #0563c1\">list of the fixes included in EF6.1.2 on our CodePlex site<\/span><\/a>.<\/p>\n<p>The Entity Framework 6.1.1 runtime is included in a number of places in this release.<\/p>\n<ul>\n<li><span style=\"font-family: Segoe UI;font-size: 10pt\">The runtime will be installed if you create a new model using the Entity Framework Tools in a project that does not already have the EF runtime installed.<\/span><\/li>\n<li>The runtime is pre-installed in new ASP.NET projects, depending on the project template you select.<\/li>\n<\/ul>\n<p>Note, VS2013 Update 4 only includes EF6.1.1 .<\/p>\n<h2>Entity Framework 7 Beta1 for VS2015 Preview Only<\/h2>\n<p>EF7 is a lightweight and extensible version of Entity Framework that enables new platforms and new data stores. Starting with EF7, Windows Phone, Windows Store, ASP.NET 5, and traditional desktop application can all now take advantage of Entity Framework. In addition to relational databases, EF7 also supports non-relational data stores such as Azure Table Storage and Redis. For more information on EF7, see our <a href=\"https:\/\/github.com\/aspnet\/EntityFramework\/wiki\/What-is-EF7-all-about\"><span style=\"color: #0563c1\">What is EF7 all about<\/span><\/a> page.<\/p>\n<p><a name=\"_WebForm_4.6_Improvements\"><\/a><\/p>\n<h2>WebForm 4.6 Improvements for VS2015 Preview Only<\/h2>\n<p>ASP.NET team continues to improve ASP.NET Web Forms. We added the following features in this release:<\/p>\n<ul>\n<li>HTTP 2 support<\/li>\n<li>Async Model Binding<\/li>\n<li>Use Roslyn Code Dom Compilers<\/li>\n<\/ul>\n<h2>ASP.NET 5 Preview Tutorials<\/h2>\n<p>You can find ASP.NET tutorials in <a href=\"http:\/\/asp.net\/vNext\">http:\/\/asp.net\/vNext<\/a>.<\/p>\n<p>Here are the links that you can find from the &#8220;ASP.NET 5 Starter web&#8221; template as well:<\/p>\n<h2>Customize app<\/h2>\n<ul>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=398600\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Add Controllers and Views<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=398602\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Add Data using EntityFramework<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=398603\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Add Authentication using Identity<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=398606\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Add real time support using SignalR<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=398604\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Add Class library<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=517848\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Add client packages using Bower<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=517849\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Manage client packages using Grunt<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=517850\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Develop on different platforms<\/span><\/a><\/li>\n<\/ul>\n<h2>Run &amp; Deploy<\/h2>\n<ul>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=517851\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Run your app locally<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=517852\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Run your app on ASP.NET Core 5<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=517853\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Run commands in your project.json<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=398609\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Publish to Microsoft Azure Web Sites<\/span><\/a><\/li>\n<\/ul>\n<h2>Get help<\/h2>\n<ul>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=398610\"><span style=\"font-family: Segoe UI;font-size: 10pt\">Get help<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=517854\"><span style=\"font-family: Segoe UI;font-size: 10pt\">ASP.NET 5 source code<\/span><\/a><\/li>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=517855\"><span style=\"font-family: Segoe UI;font-size: 10pt\">ASP.NET 5 documentation<\/span><\/a><\/li>\n<\/ul>\n<h2>Known Issues<\/h2>\n<ul>\n<li>When publishing an ASP.NET 5 project and using the&nbsp;Precompile option, the content will be skipped if it had been previously published with the same version. The workaround is to change the version property in project.json.<\/li>\n<li>ASP.NET 5 web projects&nbsp;need a wwwroot element in project.json. For existing projects you can add &#8220;wwwroot&#8221;:&#8221;.&#8221;. See <a href=\"https:\/\/github.com\/aspnet\/Home\/wiki\/Project.json-file\">https:\/\/github.com\/aspnet\/Home\/wiki\/Project.json-file<\/a> for more information. If the wwwroot element is missing&nbsp;and web publish is invoked, an error is returned stating that kpm pack has existed with code 1.<\/li>\n<li>When publishing an ASP.NET 5 project, the build is not verified before publish starts. The workaround here is to build your project before publishing.<\/li>\n<li>After scaffolding&nbsp;an empty ASP.NET 5 project from the command line, the readme that is shown has old content. The contents should not be used directly in your projects.<\/li>\n<li>For ASP.NET 5 projects, the IntelliSense project dropdown doesn&#8217;t associate code files in subfolders with the project. Instead Miscellaneous Files is shown.<\/li>\n<li>For ASP.NET 5 projects, in a project targeting both aspnet50 and aspnetcore50 installing a package targeting desktop using&nbsp;NuGet&nbsp;Package Manager for solution fails with a 404. The work around is to install the package at the project level instead.<\/li>\n<li>For ASP.NET 5 projects,&nbsp;in a project targeting both aspnet50 and aspnetcore50 installing a package&nbsp;using NuGet Package Manager&nbsp;doesn&#8217;t install it in the correct dependency section. For e.g. a package that is only supported on aspnet50 will still be dropped under the shared dependency section in the project.json. You will need to move it to the correct dependencies section.<\/li>\n<li>Microsoft .NET Framework 4.6 (it can also be referred to as Microsoft .NET Framework 4.5.3) is installed after installing VS2015 Preview. Customers may also obtain this new version of .NET Framework 4.6 via stand-alone installer <a href=\"http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=44928\">here<\/a> or from the Windows 10 Tech Preview. VS2013, VS2012 and VS2010sp1 users may experience a warning dialog box popping up when either creating new Web Site or Windows Azure project or when opening existing projects. The warning dialog claims that &#8220;Configuring Web http:\/\/localhost:xxxxx\/ for ASP.NET 4.5 failed&#8221;. You can ignore this dialog box. For detailed workaround and patches, please see <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2014\/11\/11\/dialog-box-may-be-displayed-to-users-when-opening-projects-in-microsoft-visual-studio-after-installation-of-microsoft-net-framework-4-6.aspx\">this post<\/a>.<\/li>\n<\/ul>\n<h2>Summary<\/h2>\n<p>We&#8217;d love to hear your feedback. For Visual Studio tooling related issues, please submit bugs through <a href=\"https:\/\/connect.microsoft.com\/visualstudio\"><span style=\"color: #00749e;text-decoration: underline\">Connect<\/span><\/a>, send suggestions on <a href=\"http:\/\/visualstudio.uservoice.com\/forums\/121579-visual-studio\"><span style=\"color: #00749e;text-decoration: underline\">UserVoice<\/span><\/a><span style=\"color: #00749e;text-decoration: underline\">,<\/span> and quick thoughts via <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/zzszcehe.aspx\"><span style=\"color: #00749e;text-decoration: underline\">Send-a-Smile<\/span><\/a> in the Visual Studio IDE. For ASP.NET vNext, please provide feedback in <a href=\"http:\/\/github.com\/aspnet\"><span style=\"color: #00749e;text-decoration: underline\">GitHub<\/span><\/a> or the <a href=\"http:\/\/forums.asp.net\/1255.aspx\/1?ASP+NET+vNext\"><span style=\"color: #00749e;text-decoration: underline\">ASP.NET vNext forum<\/span><\/a>. If you ask a question in Stack Overflow, use the <a href=\"http:\/\/stackoverflow.com\/questions\/tagged\/asp.net-vnext\"><span style=\"color: #00749e;text-decoration: underline\">asp.net-vnext<\/span><\/a> tag.&nbsp; Thanks for being with us in this exciting time!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we released both Visual Studio 2015 Preview and VS2013 Update 4. The ASP.NET team provided many new features and updates to both the runtime and tooling in Visual Studio 2015 Preview, including: ASP.NET 5 Preview runtime with VS2015 Preview only. ASP.NET 5 Preview tooling with VS2015 Preview only. ASP.NET tooling update for both VS2015 [&hellip;]<\/p>\n","protected":false},"author":410,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[30,7265,7489,7490,7465,7484,7491],"class_list":["post-104","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aspnet","tag-announcement","tag-announcements","tag-asp-net-5","tag-asp-net-5-preview","tag-asp-net-vnext","tag-visual-studio-2013-update-4","tag-visual-studio-2015"],"acf":[],"blog_post_summary":"<p>Today we released both Visual Studio 2015 Preview and VS2013 Update 4. The ASP.NET team provided many new features and updates to both the runtime and tooling in Visual Studio 2015 Preview, including: ASP.NET 5 Preview runtime with VS2015 Preview only. ASP.NET 5 Preview tooling with VS2015 Preview only. ASP.NET tooling update for both VS2015 [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/410"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=104"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/104\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}