Azure SDK for .NET 2.5 Release Notes
This document contains the release notes for the Azure SDK for .NET 2.5 release and describes New Features in the SDK, New SDK Tools in Visual Studio 2013 Update 4 and Visual Studio 2015 Preview, Known Issues in the Azure SDK for .NET 2.5, and Breaking Changes.
The Azure SDK for .NET version number (2.5) is determined by the core Azure service runtime assembly using semantic versioning. Other client libraries packaged inside the Azure SDK for .NET, along with their respective NuGet packages, follow independent versioning based on the semantic versioning scheme.
The Azure SDK for .NET 2.5 includes Azure Storage 4.3.0, Azure Service Bus 2.4.9, Azure Shared Caching 1.7.0, and Azure Configuration Manager 2.0.3 libraries. You can also download these libraries from their respective NuGet packages.
For more information related to this release, see the following resources:
New features and release notes for the Azure Plugin for Eclipse with Java (by Microsoft Open Technologies) - What's New in the Azure Plugin for Eclipse with Java (by Microsoft Open Technologies)
The Azure Code Analysis tool to help you identify and resolve several commonly encountered Azure programming issues - Optimizing Your Azure Code.
New Features in the SDK
Azure SDK for .NET 2.5.1
For information about this release, see Release Notes.
Azure SDK for .NET 2.5
The following are new features and updates in the Azure SDK for .NET 2.5. New SDK features primarily related to Azure Tools in Visual Studio 2013 Update 4 and Visual Studio 2015 Preview are in the next section.
Platform support – Azure SDK version 2.5 adds support for Visual Studio 2015 Preview, Visual Studio 2013 Update 4, Windows 10 Technical Preview, and .NET Framework 4.5.1. As of this release we are also announcing a retirement date of November 12, 2015 for Azure SDK for .NET versions 1.6 through 2.1. See Support and Retirement Information for the Azure SDK for .NET and APIs for details.
Using Azure SDK version 2.5 you can develop IaaS applications targeting .NET Framework 4.5.2 or .NET Framework 4.5.3, provided that you install the target .NET Framework on the Azure virtual machines that run them. .NET Framework 4.5.1 is the most recent supported target framework for PaaS applications developed using this version of the SDK.
Diagnostics improvements - Azure SDK version 2.5 supports improved diagnostics logging to help you monitor your Azure virtual machines and cloud services. With the Azure Diagnostics Client Library version 1.3 included with Azure SDK version 2.5, you can now use Event Tracing for Windows (ETW) logging to capture events via Event Sources or Event Manifests.
QuickStarts – Accelerate your development by using a collection of quick start projects demonstrating core Azure services and their APIs.
Event Hubs – This version of the SDK supports the general availability of the Azure Service Bus Event Hubs service. Event Hubs enable the collection in Azure of event streams at high throughput, from a diverse set of devices and services. See Event Hubs Overview for more information.
Load Balancer session affinity – This version of the SDK supports the recently introduced session affinity mode (also called client IP affinity mode) of the Azure Load Balancer. With session affinity, connections initiated from a specific client computer go to the same private (datacenter) IP endpoint in a cloud service or set of Azure virtual machines configured to load-balance incoming traffic. See Azure Load Balancer new distribution mode for more information.
New SDK Tools in Visual Studio 2013 Update 4 and Visual Studio 2015 Preview
Azure SDK for .NET version 2.5 provides new and enhanced tooling for Azure development with Visual Studio 2013 Update 4 and Visual Studio 2015 Preview. See Visual Studio 2013 Update 4 (2013.4) RTM and Visual Studio 2015 Preview for details about these releases. New features include:
Azure Resource Manager Tools (Visual Studio 2013 and 2015) – The Azure Resource Manager tools enable you to create an application using the Azure Marketplace templates in a new project type called a Cloud Deployment Project. You can create and edit the Azure Resource Manager deployment template (to declaratively describe an Azure Website and SQL database, for example) and parameter files in the Cloud Deployment Project. The parameter file makes it easy to use the same template to spin up multiple instances of the resources in development, testing, and production environments. Use the tools to create resource groups and deploy templates to simplify creation of resources.
Folders in Storage Explorer (Visual Studio 2013 and 2015) - You can now view and create folders in your blob storage through Visual Studio’s Storage Explorer.
Connect to data more easily in Mobile Services (Visual Studio 2013 and 2015) – In a .NET backend mobile service, you can now specify additional database connections that your service requires whenever you publish your mobile service. To add access to an existing database, specify the connection string when you use the Publish Web dialog.
Manage WebJobs from Server Explorer and debug WebJobs remotely in Azure (Visual Studio 2013 and 2015) – The WebJobs feature enables you to run any program or script on VMs managed by Azure Websites. WebJobs are now represented as nodes in the Visual Studio Server Explorer. From the WebJobs node, link directly to the Dashboard to see how your WebJobs are running, start and stop continuous jobs, and run on-demand or scheduled jobs. Remote debugging of continuous WebJobs is also enabled. See Remote debugging WebJobs for more information.
HDInsight Tools for Visual Studio (Visual Studio 2013 and 2015) – The Azure SDK version 2.5 release adds HDInsight Tools for Visual Studio. Use these new tools in Server Explorer to navigate Hive databases and linked storage accounts for HDInsight clusters, create tables, and create and submit Hive queries. See Get started using HDInsight Hadoop Tools for Visual Studio for more information.
Add Connected Services (Visual Studio 2015) - Use the Add Connected Service dialog box to connect easily to cloud-based services like Azure Storage and Azure Mobile Services. Add project references, insert connection strings, and get introductory guidance on consuming the services.
Sign-in and view resources for multiple Azure accounts (Visual Studio 2015) - Visual Studio 2015 Preview enables you to be signed in simultaneously with multiple Azure accounts. View and manage Azure resources associated with those accounts in Server Explorer.
Environments hub in Team Explorer (Visual Studio 2015) – The new Environments hub in Team Explorer helps teams manage Azure environments and share these environments with other team members. Developers can deploy applications to Azure environments from a Cloud Deployment Project, and view resources, logs, and activities related to their environments. See Announcing DevOps style deployments using Visual Studio 2015 Preview and Azure for more information.
Known Issues in the Azure SDK for .NET 2.5
The following are known issues in the Azure SDK for .NET 2.5:
Problem seeing Azure Websites resources with Visual Studio 2015 Preview - In Visual Studio 2015 Preview, you might not be able to see your Azure Websites resources, even when you are signed in with a valid account to work with Azure resources. You might notice this problem in Server Explorer or when attempting to publish a Websites project. To fix this, in Server Explorer, right-click the Azure node and select Manage Subscriptions. On the Accounts tab, check the checkbox for the account you used to sign in to Visual Studio.
Crash dumps are not generated consistently on some operating systems – Because of a known issue with Windows Error Reporting, crash dumps may not be generated consistently when certain processes crash on a Windows 8.1 or Windows Server 2012 R2 operating system. For example with PaaS scenarios, the waworkerhost.exe, w3wp.exe, and waiishost.exe processes may crash without generating a crash dump. To temporarily work around this issue to get a crash dump for a process, configure the process to run under elevated privilege. This workaround should only be used temporarily and only in a development environment.
Cannot debug cloud projects on Windows 10 Technical Preview – When you start debugging a cloud project on Windows 10 Technical Preview, the browser will display a server error with an argument out of range exception. This is a known issue with IIS Express on Windows 10 Technical Preview. To work around the issue, enable full IIS on Windows 10 Technical Preview: In Control Panel\Programs\Programs and Features, select Turn Windows features on or off. Select the check box for Internet Information Services and click OK. After Installing IIS you should be able to debug the cloud project.
LightSwitch Publish libraries are removed – The Visual Studio LightSwitch Publish libraries are removed from the Azure SDK as of version 2.5. Going forward, to deploy Visual Studio LightSwitch applications to Azure, use the Azure SDK version 2.4. Azure SDK version 2.4 is the most recent to include the LightSwitch Publish libraries.
Warning when creating a web application in Visual Studio and .NET 4.5.3 is installed – If you develop in Visual Studio 2012 or in Visual Studio 2013 with Update 3, and .NET Framework 4.5.3 is installed, you may see a warning similar to the following when creating a web application, even if the application targets an earlier version of .NET Framework:
“Configuring Web http://localhost:nnnnn/ for ASP.NET 4.5 failed. You must manually configure this site for ASP.NET 4.5 in order for the site to run correctly. ASP.NET 4.0 has not been registered on the Web server. You need to manually configure your Web server for ASP.NET 4.0 in order for your site to run correctly.”
To fix this in Visual Studio 2012, apply KB3002339. The update is only available for Visual Studio 2012 with Update 4. To fix this in Visual Studio 2013 with Update 3, download and install Update 4.
Build warning when creating a Web Role by using an empty ASP.NET project and MVC - If you create a Cloud Services project by using an ASP.NET Web Role and select an Empty project and check the MVC box, you receive a warning message stating that there are conflicting versions of NewtonSoft.Json. This occurs because the Web Role template installs NewtonSoft.Json 5.0.8, but the MVC project generates a web.config that contains the following binding redirect:
<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /> <bindingRedirect oldVersion="0.0.0.0-184.108.40.206" newVersion="220.127.116.11" /> </dependentAssembly>
To fix this, install version 6.0.4 of NewtonSoft.Json using one of the following approaches:
Run the following command from the Package Manager Console: install-package NewtonSoft.Json -version 6.0.4
From the Web Role project, right click and select Manage NuGet Packages to search for and update NewtonSoft.Json.
The following are breaking changes in the Azure SDK for .NET 2.5:
Projects created with the Preview release of Azure Resource Manager tooling are incompatible - Projects created using the Preview release of Azure Resource Manager tooling are not compatible with the Azure SDK version 2.5. To bring your Deployment Project forward to the latest release, create a new deployment project and copy your existing template and parameter files to the new project.
Diagnostics logs are not collected in the Azure compute emulator – For projects that target the Azure SDK version 2.5, the Azure compute emulator no longer supports the collection of diagnostics logs, including performance counters, infrastructure logs, IIS logs, and event logs. In addition, logs are no longer stored in Azure storage or development storage. You can continue to view application logs in the Visual Studio Output window or the compute emulator. This only affects projects that target Azure SDK version 2.5; projects that continue to target Azure SDK 2.4 are not affected.
Diagnostics configuration requires diagnostics.wadcfgx; configuration in code is no longer supported - With the Azure SDK version 2.5, all diagnostics configuration must be done in the XML configuration file diagnostics.wadcfgx, and the diagnostics agent always uses this configuration, whether it is applied through Visual Studio or Azure PowerShell. Any previous code-based diagnostics configuration (for example, using the DiagnosticMonitor API) must be migrated to the diagnostics.wadcfgx file. Code used to configure crash dumps in previous SDKs must also be migrated to the diagnostics.wadcfgx file.
If your Azure SDK version 2.4 project already uses the XML-based diagnostics configuration file diagnostics.wascfg (a recommended best practice), then when you upgrade the project in Visual Studio to target Azure SDK version 2.5, Visual Studio automatically updates the XML configuration file to the new format (diagnostics.wadcfgx). If your project continues to use a code-based configuration, then when it is upgraded to version 2.5, you will get build warnings that reference the deprecated APIs. You can use Visual Studio to configure diagnostics.wadcfgx by right-clicking a role in Solution Explorer, and then click Properties. On the Configuration tab, select Enable Diagnostics, and then click Configure. See Configuring Diagnostics for Azure Cloud Services and Virtual Machines for more information.
Previously, the code-based diagnostics configuration APIs were used in scenarios to remotely update the diagnostics configuration. Azure SDK version 2.5 and the new diagnostics extension model support updates without code. To update the diagnostics configuration on a deployed role from Visual Studio, right-click the role in Server Explorer and click Update Diagnostics Settics.
Diagnostics configuration must be applied separately after deployment - Because Azure SDK version 2.5 uses the extension model, the diagnostics extension and configuration are no longer part of the deployment package and must be applied separately after the deployment. Visual Studio will apply the extension and configuration for you when you use the Publish wizard to deploy your application. For automated deployment scenarios, you can use Azure PowerShell cmdlets to apply the extensions after deployment as described in Step 5 HYPERLINK "http://azure.microsoft.com/en-in/documentation/articles/cloud-services-dotnet-diagnostics/" in Enabling Diagnostics in Azure Cloud Services and Virtual Machines.