2014-11-24 2 views
0

У меня возникла странная проблема с упаковкой сборки для роли работника Azure. Я создаю образец облачного приложения Azure, имеющего один веб-сайт и роль рабочего. Я ссылаюсь на стороннюю сборку, myasm.dll как на веб-сайт, так и на проект роли сотрудника. myasm.dll имеет зависимость от двух других сборок. Когда я создаю проект, все три (myasm.dll и две зависимые сборки) сторонних сборок копируются в каталог bin для проектов веб-сайта и рабочих ролей. Все идет нормально.Сборка не упакована для роли работника Azure

Когда упаковка завершена для роли рабочего, с трех сторонних сборок, в комплект поставки включены только две сборки, третья сборка не включена. Как ни странно, упаковка проекта Website включает в себя все три сборки. Я создал еще одну рабочую роль, чтобы проверить поведение, но такое же поведение было замечено снова.

Это известная проблема или что-то еще? Любая помощь высоко ценится.

Я использую VS2012 Update 4.

ответ

2

Пакет не будет включать в себя любые DLL, которые в явном виде не используются в вашем проекте или ссылки. Я знаю, что эта проблема возникает, когда вы явно не используете тип в своем проекте (old bug raised - с не фиксирует статус)

Я думаю, что ваш лучший вариант - явно указать те отсутствующие dll (see here) или попытаться добавить фиктивный использование типов из отсутствующих зависимостей.

+0

спасибо. Типы, которые я использую из myasm.dll, и код одинаковы для проектов веб-сайта и рабочих ролей. Поэтому мне интересно, почему myasm.dll получает пакет для веб-сайта, но не для роли сотрудника. – Shashi

+0

Это просто ошибка в упаковке. Visual Studio правильно втянула все необходимые сборки в каталог bin приложения. Но утилита упаковки решает не упаковывать одну из сборок. Невозможно понять, как утилита упаковки определяет, что одна из сборок не требуется. – Shashi