2013-05-31 9 views
15

Мы используем Azure SDK 1.8, и он отлично работает на локальном компьютере. мы используем контроллер размещенной сборки TFS для развертывания на лазури.Не удалось загрузить файл или сборку «Microsoft.WindowsAzure.ServiceRuntime, Version = 2.0.0.0

Он работал нормально, но внезапно сегодня мы получаем эту ошибку, хотя у нас нет версии szk dll для azure, но в Интернете мы получаем эту ошибку. Это из-за того, что контроллер сборки TFS обновлен с помощью нового sdk? и странная вещь, эта сборка демонстрирует успех каждый раз.

В службе сборки TFS я нашел этот странный материал, почему он ссылается на v2.0 sdk. enter image description here

Could not load file or assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 
+0

Если вы снова получите что-то подобное, я настоятельно рекомендую включить функцию удаленного рабочего стола и отлаживать ее. Это грязно, но отладка с помощью dev-приложения, просмотра событий и веб-конфигурации вы можете настроить привязки до соответствия версий. –

ответ

16

Если все остальное терпит неудачу, и правильный DLL развернут в бункере, попробуйте добавить узел связывания перенаправления в web.config:

<dependentAssembly> 
    <assemblyIdentity name="Microsoft.WindowsAzure.ServiceRuntime" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="2.0.0.0" newVersion="1.8.0.0" /> 
</dependentAssembly> 

Изменение связывания номера версий, как это необходимо.

+0

Великий Он работает. но я не понимаю, что произошло. почему это было необходимо. –

+0

Рад, что я мог помочь. Я потратил полдня на то, чтобы понять это. У меня больше нет ошибок во время выполнения, но автоскаллер (консольное приложение) по-прежнему не автомасштабирует. Думаю, в этом случае это ошибка Нугета. –

+1

С этими ошибками хорошо проверить пакеты nuget, которые используются в проекте. Если кто-то, например, обновляет некоторый пакет nuget, связанный с Azure, для более новой версии, он может содержать ссылку на сборки версии 2.0.0. –

1

Я считаю, что я попал в точно такой же вопрос, что и вы (если я правильно помню). 1.8 SDK содержал ссылку на старую StorageClient dll. Попробуйте добавить ссылку в свой проект:

Microsoft.WindowsAzure.StorageClient version 1.7.0.0 

Сообщите мне, если это поможет!

+0

спасибо, что ответил. Я только что редактировал вопрос с одной картинкой, если у меня есть правильный путь. –

+0

Я просто включил журнал слияния, так что кто-нибудь может помочь мне найти фактические ошибки ошибки, показываемые здесь. Http://concerthall.simpletix.eu/ –

7

Это случилось со мной, потому что я обновил ссылки от 2,0 до 2,2, но я до сих пор версию длл 2,0 ссылки в моем веб-конфигурации:

<system.diagnostics> 
<trace autoflush="true"> 
    <listeners> 
    <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics"> 
     <filter type="" /> 
    </add> 
    </listeners> 
</trace> 

+0

ДА, нам нужно заглянуть в Microsoft.WindowsAzure.Diagnostics EVEN THOUG ошибка, которую мы получили, жалуется на Microsoft.WindowsAzure.ServiceRuntime ". Первоначально я думаю, что некоторая вещь неправильная цитируется как и то и другое, но когда я столкнулся с этой ошибкой и не обнаружил ошибки выше сказанное уловило проблему. для меня Microsoft.WindowsAzure.ServiceRuntime "2.3.0.0, а ее dll также 2.3.00, но для Microsoft.WindowsAzure.Diagnostics указывает на 2.2.0.0, но его сборка версии 2.3.0.0. – AKS

3

Это случилось со мной, когда я повышен до 2.3.0.0.

Чтобы исправить это, я вошел в ссылки -> щелкнул правой кнопкой мыши по dll -> щелкнул Properties -> set copy local to true.

+1

Мы обновили до использования azure sdk 2.3 и обнаружили, что веб-сайты работали локально без ссылки Microsoft.WindowsAzure.ServiceRuntime. Когда веб-сайты были опубликованы в Azure, они потребовали эту DLL. Добавлен к проектам из 2.3 sdk и отмеченной копии локально, как описано для более ранней версии. Повторно опубликуйте, и эта dll будет скопирована. Исправлена. –

-1

У меня была эта проблема, а также недавно. Основываясь на моих исследованиях, это может быть вызвано множеством причин. Лучший способ решить это - сначала диагностировать его. Чтобы получить лучший диагноз, включите все исключения CLR из окна «Исключения». Теперь ваша Visual Studio будет разбита на любое генерируемое исключение. Отсюда вы сможете увидеть внутренние детали исключения.

Смежные вопросы