Проблема развертывания Box.V2 SDK: не удалось загрузить файл или сборку 'Nito.AsyncEx...' или одну из ее зависимостей. Требуется строгое собрание.
У нас есть проект WCF, нацеленный на.Net 4.0 под VS 2010 Win7 x64, обратите внимание, что это подписанная сборка. Box.V2 SDK был установлен через NuGet, и мы используем версию 1.0.5.
Плохие вещи начали происходить после того, как мы попытались построить решение, первая проблема была с самой DLL Box.V2, где мы не смогли продвинуться вперед из-за следующей ошибки:
Msgstr "Генерация сборки не удалась - ссылка на сборку" Box.V2 "не имеет строгого имени".
Нам удалось преодолеть эту проблему, подписав сборку с помощью "Brutal Developer .NET Assembly Strong-Name Signer (1.3.0.0)".
После того, как он был успешно собран, мы столкнулись со второй проблемой, тогда как при создании BoxClient возникнет исключительная ситуация со следующим сообщением:
"Не удалось загрузить файл или сборку 'Nito.AsyncEx, версия =1.0.0.0, Culture= нейтральная, PublicKeyToken=null' или одна из ее зависимостей. Требуется сборка со строгим именем. (Исключение из HRESULT: 0x80131044)".
Мы использовали следующий код для создания экземпляра клиента:
var config = new BoxConfig(clientId, clientSecret, new Uri(redirectUri));
var client = new BoxClient(config);
где clientId, clinetSecret и redirectUri являются параметрами нашего метода.
Шаги, предпринятые для решения проблемы:
- Nito.AsyncEx.dll был подписан с использованием того же вышеупомянутого инструмента - то же исключение.
- Сборка Nito.AsyncEx была обновлена до последней версии (2.1.3.0), где на самом деле они ее подправили и использовали строгое название для своих сборок - до сих пор не повезло.
- Одна из проблем, представленных здесь ( https://github.com/box/box-windows-sdk-v2/issues/3), имела аналогичную проблему, и мы попытались следовать предложенному сценарию, однако он мало помог.
- Мы пытались вообще не подписывать нашу ассамблею, но опять напрасно, потому что было брошено то же исключение.
- Мы также попытались настроить и подписать Box.V2.dll, как описано здесь, но не смогли его построить впоследствии, так как были выданы следующие ошибки:
Базовый класс или интерфейс "System.Object" в сборке "System.Runtime, версия =2.6.3.0, Culture= нейтральный, PublicKeyToken=b03f5f7f11d50a3a", на который ссылается тип "Box.V2.BoxClient", не может быть разрешен
Базовый класс или интерфейс "System.Object" в сборке "System.Runtime, версия =2.6.3.0, Culture= нейтральный, PublicKeyToken=b03f5f7f11d50a3a", на который ссылается тип "Box.V2.Config.BoxConfig", не может быть разрешен
Таким образом, в настоящее время мы застряли в нашем продукте с развертыванием Box API, что довольно сложно.
Любая помощь с благодарностью.
1 ответ
Команда Box предоставила нам обновленный SDK, который содержал подписанные сборки и который работал очень хорошо.