Com взаимодействовать с DLL для доступа к Azure Storage

Мой клиент нуждается в dll com interop для сохранения и удаления Blazs Windows Azure в хранилище (он использует VB6 и не может напрямую вызвать хранилище). Я написал ComInterop DLL, как это несколько раз раньше, но теперь, когда вы вызываете DLL из приложения VB6, он получает исключение, не найденное на этапе 80070002:

«Не удалось загрузить файл или сборку« Microsoft.WindowsAzure.Storage, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 »или одну из его зависимостей.

Есть идеи?

Вот небольшой фрагмент кода:

[Serializable]
[Guid("...")]
[ClassInterface(ClassInterfaceType.AutoDual)]
[ComSourceInterfaces(typeof(IBlobOperations))]
[ComVisible(true)]
[ProgId("...")]
public class BlobOperations
{


    #region (Aufrufbare Funktionen) ---------------------------------------
    private const string BlobConnection =
        "DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...";

    private const string Container = "...";

    public void BlobChange(string fileLocation, string blobName)
    {
        try
        {
            var storageAccount = CloudStorageAccount.Parse(BlobConnection);

           //Create the blob client.
            var blobClient = storageAccount.CreateCloudBlobClient();

           //Retrieve reference to a previously created container.
            var container = blobClient.GetContainerReference(Container);

           //Retrieve reference to a blob named "myblob".
            var blockBlob = container.GetBlockBlobReference(blobName);

           //Create or overwrite the "myblob" blob with contents from a local file.
            using (var fileStream = System.IO.File.OpenRead(fileLocation))
            {
                blockBlob.UploadFromStream(fileStream);
            }
        }
        catch (Exception e)
        {
            ...
        }
    }
2
nl ja de

1 ответы

Вам нужно добавить ссылку на файл Microsoft.WindowsAzure.Storage.dll - это устанавливается локально на вашем компьютере-разработчике при установке средств Azure.

Просто найдите файл, обратитесь к нему из своего проекта, и вы должны быть в порядке.

Надеюсь это поможет.

1
добавлено
Этот набор ссылок будет скопирован в папку Bin при создании вашего приложения? Если вы находитесь на тестовой машине, вы можете зарегистрировать этот файл в GAC или где-нибудь, но на своем ПК он может этого не сделать.
добавлено автор Brett Rigby, источник
Хм. Нашел это >> robertgreiner.com/2012/12/… << онлайн, но похоже, что это для более ранней версии .dll, чем вы используете ... есть ли что-нибудь там, что может помочь?
добавлено автор Brett Rigby, источник
У меня есть ссылка на эту DLL. Все работает отлично от тестового проекта. Я могу добавлять и удалять blobs как charme. Исключение составляет только из vb6 (com interop). Извините за неточность.
добавлено автор Sabine, источник
Я думаю ты прав. «Локальная копия» была установлена ​​в true. Я проверю и отправлю ответ. Благодаря!!!
добавлено автор Sabine, источник
К сожалению, улучшения нет. Такая же ошибка. Любые другие идеи?
добавлено автор Sabine, источник