Botbuilder-dotnet: Current v4.x framework referencing older Azure Storage libraries, causing conflicts with more updated libraries.

Created on 15 Apr 2019  路  11Comments  路  Source: microsoft/botbuilder-dotnet

Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.

Version

Using bot builder 4.3.2,

Describe the bug

After updating Azure storage libraries to the most recent packages (Microsoft.Azure.Storage.Common, Microsoft.Azure.Storage.Blob, Microsoft.Azure.Cosmos.Table)
I get a compiler error on AzureBlobTranscriptStore .
Reference to type 'CloudStorageAccount' claims it is defined in 'Microsoft.Azure.Storage.Common', but it could not be found

It turns out Microsoft.Bot.Builder.Azure still references the older storage libraries.

Will this be updated to use the latest libraries?

BF Customer Ask P1 R10

Most helpful comment

This should not be closed. The gap between the versions of Storage is now getting far too large.

All 11 comments

I did a little more research. The latest code for Microsoft.Bot.Builder.Azure has the correct package references for the newer storage Nuget packages (Microsoft.Azure.Storage.Blob). However, the problem is that AzureBlobTranscriptStore.cs & AzureblobStorage.cs are still using Microsoft.WindowsAzure.Storage and Microsoft.WindowsAzure.Storage.Blob.

Turns out we can't take these changes without breaking both code and binary compatibility.

We'll have to stuck with what we've got for now.

Bummer but I get it.

This should not be closed. The gap between the versions of Storage is now getting far too large.

@cleemullins How should we fix this build error till Microsoft.WindowsAzure.Storage gets replaced by Microsoft.Azure.Storage.Common?

How should we solve this? Could you please provide a solution now that we have to stick with this problem?

The fastest workaround is to create copy of the file with conflict, e.g. create copy of AzureBlobTranscriptStore.cs in your project and replace _Microsoft.WindowsAzure.Storage_ references with a _Microsoft.Azure.Storage_ references. After this just use your own _AzureBlobTranscriptStore.cs_.

I can provide an update on this.

In R10, @EricDahlvang is making a change to introduce new storage classes bases on the latest "Azure.*" packages, rather than the old storage drivers. That'll let us keep the old stuff, and also allow folks to consumer the newer packages if that's what they prefer.

@EricDahlvang Can you chime in here with an update?

@cleemullins this was pushed out of R10, but we can pick it up again if this is a priority.

@EricDahlvang can you confirm these changes are in v4.10.3 as stated in the release notes as I'm unable to find them in my .NET Core app.

For instance, where is BlobsStorage and BlobTranscriptStore?
image

Hi @jvanderbiest

The new classes are in new libraries:
image

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nrandell picture nrandell  路  6Comments

ivorb picture ivorb  路  6Comments

Savvato picture Savvato  路  6Comments

MarekLani picture MarekLani  路  4Comments

cmayomsft picture cmayomsft  路  6Comments