private void NewFromPublishSettings(string subscriptionsDataFile, string publishSettingsPath) { Validate.ValidateStringIsNullOrEmpty(GlobalPaths.AzureDirectory, Resources.AzureDirectoryName); Validate.ValidateFileFull(publishSettingsPath, Resources.PublishSettings); Validate.ValidateFileExtention(publishSettingsPath, Resources.PublishSettingsFileExtention); PublishSettings = General.DeserializeXmlFile<PublishData>(publishSettingsPath, string.Format(Resources.InvalidPublishSettingsSchema, publishSettingsPath)); if (!string.IsNullOrEmpty(PublishSettings.Items.First().ManagementCertificate)) { Certificate = new X509Certificate2(Convert.FromBase64String(PublishSettings.Items.First().ManagementCertificate), string.Empty); PublishSettings.Items.First().ManagementCertificate = Certificate.Thumbprint; } SubscriptionManager = SubscriptionsManager.Import(subscriptionsDataFile, PublishSettings, Certificate); ServiceConfiguration = new ServiceConfiguration { endpoint = PublishSettings.Items.First().Url, subscription = PublishSettings.Items.First().Subscription.First().Id, subscriptionName = PublishSettings.Items.First().Subscription.First().Name }; }
private void New(string subscriptionsDataFile, X509Certificate2 certificate, string serviceEndpoint) { Validate.ValidateStringIsNullOrEmpty(GlobalPaths.AzureDirectory, Resources.AzureDirectoryName); Certificate = certificate; SubscriptionManager = SubscriptionsManager.Import(subscriptionsDataFile, null, certificate); ServiceConfiguration = new ServiceConfiguration { endpoint = serviceEndpoint }; PublishSettings = new PublishData(); var publishDataProfile = new PublishDataPublishProfile { Url = ServiceConfiguration.endpoint }; if (Certificate != null) { publishDataProfile.ManagementCertificate = certificate.Thumbprint; } if (SubscriptionManager.Subscriptions != null && SubscriptionManager.Subscriptions.Count > 0) { var subscription = SubscriptionManager.Subscriptions.Values.First(); ServiceConfiguration.subscription = subscription.SubscriptionId; ServiceConfiguration.subscriptionName = subscription.SubscriptionName; publishDataProfile.Subscription = new [] { new PublishDataPublishProfileSubscription { Id = subscription.SubscriptionId, Name = subscription.SubscriptionName } }; } PublishSettings.Items = new [] { publishDataProfile }; }