Функция Azure «Не удалось загрузить файл или сборку» - PullRequest
0 голосов
/ 03 мая 2018

Итак, нам нравится все, что касается функций, за исключением того факта, что мы должны хранить определенные библиотеки как функции Azure, как идея обновления некоторых библиотек. Microsoft.Owin является одним из них. Мы хотели бы быть на версии 4.

Не удалось загрузить файл или сборку 'Microsoft.Owin, версия = 2.1.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Я перепробовал все, например форсирование через Project.json, а также консолидацию во всем решении. Локальная отладка в VS такая же ошибка происходит. Это происходит как на локальном, так и на локальном уровне.

У нас возникают похожие проблемы с другими библиотеками, такими как AMQP.

Мы также используем последнюю версию SDK - Microsoft.NET.SDK.Functions версия 1.0.13

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Спасибо Ашокану за ваш быстрый ответ. Я думаю, что, возможно, нашел решение этой проблемы.

https://blog.slaks.net/2013-12-25/redirecting-assembly-loads-at-runtime/ Скорее конкретно этот пост: https://blog.slaks.net/2013-12-25/redirecting-assembly-loads-at-runtime/

Посмотрите на комментарий npiasecki от 2 мая 2017 года, и он там объясняет. Это в значительной степени помогло, и теперь все работает - локально, отладка с помощью Visual Studio.

 private static void ConfigureBindingRedirects()
{
   BindingRedirect.RedirectAssembly("Microsoft.Owin", new Version("4.0.0"), "31bf3856ad364e35");

}

private static void RedirectAssembly(
    string shortName,
    Version targetVersion,
    string publicKeyToken)
{
    ResolveEventHandler handler = null;

    handler = (sender, args) =>
    {
        var requestedAssembly = new AssemblyName(args.Name);

        if (requestedAssembly.Name != shortName)
        {
            return null;
        }

        var targetPublicKeyToken = new AssemblyName("x, PublicKeyToken=" + publicKeyToken)
            .GetPublicKeyToken();
        requestedAssembly.Version = targetVersion;
        requestedAssembly.SetPublicKeyToken(targetPublicKeyToken);
        requestedAssembly.CultureInfo = CultureInfo.InvariantCulture;

        AppDomain.CurrentDomain.AssemblyResolve -= handler;

        return Assembly.Load(requestedAssembly);
    };

    AppDomain.CurrentDomain.AssemblyResolve += handler;
}
0 голосов
/ 03 мая 2018

Возможно дублирование следующего вопроса.

Функции Azure - не удалось загрузить файл или сборку '' Microsoft.WindowsAzure.Storage '

Попытайтесь выяснить, является ли Owin собственной библиотекой функций Azure или нет. Если да, вы можете отослать его напрямую. #r "Library.Namspace". В противном случае вам нужно следовать рекомендациям в вышеуказанной ветке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...