我一直在尝试使用以下代码行访问dotnet核心中的Azure Blob存储:
CloudStorageAccount account = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("<MyStorageName>_AzureStorageConnectionString")
);
事先我已经安装了所需的Azure SDK,并将其更新为dotnet核心兼容版本,然后,由于缺少CloudConfigurationManager
,我根据this回答安装了Microsoft.WindowsAzure.ConfigurationManager
。在更新此程序包之后,程序包还原失败,并显示以下错误消息:
Package Microsoft.WindowsAzure.ConfigurationManager 3.2.1 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.WindowsAzure.ConfigurationManager 3.2.1 supports: net40 (.NETFramework,Version=v4.0)
One or more packages are incompatible with .NETCoreApp,Version=v1.0.
是否有任何选项可以让CloudConfigurationManager
正常工作,还是需要找到解决方法?
答案 0 :(得分:6)
软件包Microsoft.WindowsAzure.ConfigurationManager 3.2.1与netcoreapp1.0(.NETCoreApp,Version = v1.0)不兼容。包Microsoft.WindowsAzure.ConfigurationManager 3.2.1支持:net40(.NETFramework,Version = v4.0)
在ASP.NET Core中,设置已移至appsettings.json。据我所知,现在不支持在.NETCoreApp上使用CloudConfigurationManager
。
要获得解决方法,您可以按照以下代码实施account
:
CloudStorageAccount account = new CloudStorageAccount(
new Microsoft.WindowsAzure.Storage.Auth.StorageCredentials(
"<storage-accountname>",
"<storage-accountkey>"), true);
此外,您可以参考此相关的SO thread。另外,为了更好地理解.NET Core中的配置,您可以遵循此tutorial。