问题描述
创建了一个示例控制台应用程序,我正在尝试使用此代码连接到Azure文件存储。
require_once '/var/domains/domain.com/foldername1/anotherfolder2/anotherfolder3/filename2.PHP'
帐户中存在共享名“ testfileshare ”,并且调用了“ CreateIfNotExists()”方法调用并抛出AggregateException消息
我正在使用Azure.Storage.Files.Shares 12.4.0版本。目标框架是.NET4.6.2。尝试将目标框架更新到.NET4.7.2,但出现相同的错误。
为什么会出现此错误?
添加堆栈跟踪:
var connectionString = "DefaultEndpointsProtocol=https;AccountName=<account-name>;AccountKey=<account-key>;EndpointSuffix=core.windows.net;";
var shareClient = new ShareClient(connectionString,"testfileshare");
shareClient.CreateIfNotExists();
解决方法
我发现了问题。当我从nuget添加Azure.Storage.Files.Shares包引用时,我发现在项目文件Azure.Core引用是从“ net461”文件夹中添加的,其他是从“ netstandard2.0”文件夹中添加的,而我的应用程序目标框架是“ Net4” .6.2“
这引起了问题。当我手动将Azure.Core引用路径更改为“ netstandard2.0”时,它工作正常。
<Reference Include="Azure.Core,Version=1.5.0.0,Culture=neutral,PublicKeyToken=92742159e12e44c8,processorArchitecture=MSIL">
<!--<HintPath>..\packages\Azure.Core.1.5.0\lib\net461\Azure.Core.dll</HintPath>-->
<HintPath>..\packages\Azure.Core.1.5.0\lib\netstandard2.0\Azure.Core.dll</HintPath>
</Reference>
我已通过升级“ Azure.Storage.Files.Shares”软件包重现了此问题。我不知道是VS问题还是nuget问题。