2017-05-16 59 views
0

我必須缺少一些愚蠢的東西。我試圖驗證我的服務器備份應用程序是否有權訪問我的Azure帳戶,以便我可以執行諸如以編程方式創建存儲帳戶等的內容。如果我理解正確,則必須創建服務主體。我覺得我得到的照顧,現在我只需要添加代碼:Azure中未找到AzureCredentials .Net SDK

AzureCredentials credentials = AzureCredentials.FromServicePrincipal(client, key, tenant, AzureEnvironment.AZURE); 
    Azure azure = Azure.authenticate(credentials).withSubscription(subscriptionId); 

問題是「AzureCredentials」和「天青」,或「IAzure」均無法找到引用。我已經安裝了Azure SDK,添加了以下參考資料:

using Microsoft.WindowsAzure; 
using Microsoft.Azure; 
using Microsoft.WindowsAzure.Management; 
using Microsoft.WindowsAzure.ActiveDirectory.Authentication; 

...什麼都沒有!我錯過了什麼?

編輯:下面答案中的建議包是正確的,但「Azure」引用仍然無法找到。我相信它是在「Microsoft.Azure.Management.Fluent」,但是當我嘗試添加它時,我得到這個:

未能添加引用。包'Microsoft.Azure.Management.AppService.Fluent'試圖添加一個框架引用到'System.Xml.XDocument',這在GAC中找不到。這可能是軟件包中的一個錯誤。請聯繫包裹所有者以尋求幫助。 0

回答

1

您應該使用Microsoft.Azure.Management.ResourceManager.Fluent SDK,並參閱document,你可以試試下面的代碼與ServicePrincipal登錄:

AzureCredentials credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(...) 

OR

var credentials = new AzureCredentials(new ServicePrincipalLoginInformation { ClientId = "xxxxxx", ClientSecret = "xxxxx" }, "tenantid", AzureEnvironment.AzureGlobalCloud); 
+0

哇.....謝謝!我查看了整個世界各地的網絡,無法在任何地方找到它。我非常感謝! – Sam

+0

很高興聽到你解決了這個問題:) –

+0

嗯,我認爲我很好。現在我有一個對AzureCredentials的參考,但我確實需要參考「Azure」,我相信它是在「Microsoft.Azure.Management.Fluent」中。不幸的是,我得到了上面的錯誤(請參閱我的編輯)。 – Sam