Using Visual Studio 2017 in Microsoft Azure Germany

(auch verfügbar in Deutsch)

With the release of Visual Studio 2017 the way to deploy to Azure Germany has changed. The good news is that you don't have to change registry keys any more (like for VS2015 described in this german article here). The downside is that there is no way to simultaneously deploy to Azure and Azure Germany. Here is what you have to do to switch between both clouds.

Deploy to Azure Germany

  • Close Visual Studio 2017
  • delete the folder %temp%\servicehub and everything under it (rmdir /S/Q %temp%\servicehub)
  • copy the following lines into your editor and save them in %localappdata%\.IdentityService\AadConfigurations\AadProvider.Configuration.json. If the directory doesn't exist, simply create it.

[code light="true"]
{
"AuthenticationQueryParameters":null,
"AsmEndPoint":"https://management.microsoftazure.de/",
"Authority":"https://login.microsoftonline.de/",
"AzureResourceManagementEndpoint":"https://management.microsoftazure.de/",
"AzureResourceManagementAudienceEndpoints":["https://management.core.cloudapi.de/"],
"ClientIdentifier":"872cd9fa-d31f-45e0-9eab-6e460a02d1f1",
"EnvironmentName":"BlackForest",
"GraphEndpoint":"https://graph.cloudapi.de",
"MsaHomeTenantId":"f577cd82-810c-43f9-a1f6-0cc532871050",
"NativeClientRedirect":"urn:ietf:wg:oauth:2.0:oob",
"PortalEndpoint":"https://portal.core.cloudapi.de/",
"ResourceEndpoint":"https://management.microsoftazure.de/",
"ValidateAuthority":true,
"VisualStudioOnlineEndpoint":"https://app.vssps.visualstudio.com/",
"VisualStudioOnlineAudience":"499b84ac-1321-427f-aa17-267ca6975798"
}

That's it. Now start VS2017 and add an account from Azure Germany.

Deploy to Azure (global)

After you changed the settings to deploy to Azure Germany, the way back to Azure global is simple: Just delete the subdirectory you created in the step above, %localappdata%\.IdentityService\AadConfigurations. In case you plan to switch back and forth between the clouds you might think about renaming the directory instead of deleting it...