Я пытаюсь использовать Azure Table Api с ядром dotnet и получаю следующее исключение:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Azure.Documents.Client, Version=1.20.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
at Microsoft.Azure.CosmosDB.Table.CloudTableClient..ctor(StorageUri storageUri, StorageCredentials credentials, TableConnectionPolicy connectionPolicy, Nullable`1 desiredConsistencyLevel)
at Microsoft.Azure.CosmosDB.Table.CloudStorageAccountExtensions.CreateCloudTableClient(CloudStorageAccount account, TableConnectionPolicy connectionPolicy, Nullable`1 consistencyLevel)
at Testing.Program.Main(String[] args) in /Desktop/Repos/TestingWow/Testing/Program.cs:line 22
По-видимому, это распространенное сообщение об исключении . Я поместил свой простой код на GitHub на всякий случай. Я думаю, что попробовал все существующие подсказки или решения StackOverFlow, но безуспешно. Я не уверен, что является источником моей проблемы. Я использую ядро dotnet 2.1.104 на Mac. Любая помощь будет принята с благодарностью.
.csproj
файл:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Common" Version="2.1.4" />
<PackageReference Include="Microsoft.Azure.CosmosDB.Table" Version="1.1.2" />
<PackageReference Include="Microsoft.Azure.DocumentDB" Version="1.22.0" />
<PackageReference Include="Microsoft.WindowsAzure.ConfigurationManager" Version="3.2.3" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Azure.Storage.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<HintPath>..\..\..\..\.nuget\packages\microsoft.azure.storage.common\9.0.0.1-preview\lib\netstandard1.3\Microsoft.Azure.Storage.Common.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
Простой код:
using Microsoft.Azure.CosmosDB.Table;
using Microsoft.Azure.Storage;
namespace Testing
{
class Person : TableEntity
{
public string Firstname { get; set; }
}
class Program
{
static void Main(string[] args)
{
var connectionString =
"DefaultEndpointsProtocol=https;AccountName=accountname;AccountKey=1fgp8C2mImKcQfIFLMfAYBXwOK3LlYsXLyJdktuDEgXgmSCbJlDtd9tBeh2BgfnvGXmgltHFHzNnl7JpCR12Eg==;TableEndpoint=https://hello.table.cosmosdb.azure.com:443/;";
// Retrieve the storage account from the connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
// Create the table client.
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
// Create the CloudTable object that represents the "people" table.
CloudTable table = tableClient.GetTableReference("people");
// Create a new customer entity.
Person customer1 = new Person {Firstname = "Walter@contoso.com"};
// Create the TableOperation object that inserts the customer entity.
TableOperation insertOperation = TableOperation.Insert(customer1);
// Execute the insert operation.
table.Execute(insertOperation);
}
}
}