Проблема развертывания 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 являются параметрами нашего метода.

Шаги, предпринятые для решения проблемы:

  1. Nito.AsyncEx.dll был подписан с использованием того же вышеупомянутого инструмента - то же исключение.
  2. Сборка Nito.AsyncEx была обновлена ​​до последней версии (2.1.3.0), где на самом деле они ее подправили и использовали строгое название для своих сборок - до сих пор не повезло.
  3. Одна из проблем, представленных здесь ( https://github.com/box/box-windows-sdk-v2/issues/3), имела аналогичную проблему, и мы попытались следовать предложенному сценарию, однако он мало помог.
  4. Мы пытались вообще не подписывать нашу ассамблею, но опять напрасно, потому что было брошено то же исключение.
  5. Мы также попытались настроить и подписать 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, который содержал подписанные сборки и который работал очень хорошо.

Другие вопросы по тегам