Azure: не удалось загрузить файл или сборку Microsoft.ServiceBus
-
27-09-2019 - |
Вопрос
У меня есть служба ткани приложения, которую я хочу проверить. (http://xxx.cloudapp.net:8081/service.svc.).
Я создал приложение консоли и добавила ссылку на обслуживание на службу и получила следующую ошибку:
Не удалось загрузить файл или сборку Microsoft.servicebus, версию = 1.0.0.0, культуру = нейтральный, publickyteken = 31bf3856ad364e35 'или одна из его зависимостей. Система не может найти указанный файл.
Я добавил ссылку на Microsoft.ServiceBus из файлов C: Program (x86) Windows Azure Platform AppFabric SDK V1.0 Assulties Net4.0
Я устанавливаю все сборки в моем проекте, чтобы скопировать локальные = True, как указано здесь:http://msdn.microsoft.com/en-us/library/ee706702.aspx.
Дополнительная должная осмотрительность: я открыл Microsoft.ServiceBus в отражателе Red-Gate и подтвердил, что это правильная версия. Только для ударов я также добавил ссылки на каждую сборку, упомянутую в отражателе и устанавливаю все ссылки на копирование локальных = True.
Любые другие идеи?
…Питер
Решение
Когда вы ссылаетесь на Microsoft.ServiceBus.dll, ссылаясь на ее от установки, например,
C: Файлы программы (X86) Windows Azure Platform AppFabric
SDK V1.0 Assulties Net4.0 Microsoft.ServiceBus.dll
... не из GAC, а настроить копию локальной в True.
Вам нужно сделать это во всем, что вы развертываете в Azure; Microsoft.ServiceBus.dll должен быть упакованным с вашим проектом, потому что он не доступен по умолчанию в Azure.
Если вы уворите Fiddler, вы видите 500 ошибок при вызове сервиса. Это доказывает, что исключение не в вашем приложении.
Другие советы
Убедитесь, что вы измените целевую структуру (вкладка «Свойства проекта / приложения) из« Profile Clipe Clipe). Я нашел похожий пост, и это было то, что помогло мне. Я считаю, что это связано с тем, что Microsoft.ServiceBus не поддерживается профилем клиента .NET 4.
ServiceBus DLL не устанавливается на Azure Boxes
- Убедитесь, что ваша ссылка на сборку Указывает Copy Local
- Также убедитесь, что у вас нет ссылок на сервисный автобус DLL в верхних проектах, которые не копируют локальные (это может быть ваша проблема, если вы проверили 1 выше)
Вы можете проверить дерево CSX для вашей папки Build Azure, чтобы увидеть, копируется ли сборка в конечном пакете. Это намного быстрее, чем загрузка на Azure или запуск ткани Dev.
Это должно решить вашу проблему