Не могу создать приложение silverlight на appharbor - PullRequest
5 голосов
/ 05 декабря 2011

У меня проблема с созданием проекта silverlight на appharbor (некоторые dll пропущены).У меня была следующая ошибка:

"error MSB4019: The imported project "C:\Program Files\MSBuild\Microsoft\Expression\Blend\Silverlight\v4.0\Microsoft.Expression.Blend.Silverlight.targets" was not found". 

Вот почему я комментирую 1 строку в файле csproj:

"Import Project="$(MSBuildExtensionsPath)\Microsoft\Expression\Blend\Silverlight\v4.0\Microsoft.Expression.Blend.Silverlight.targets""

И теперь я получаю новые ошибки во время сборки.Здесь вы можете взглянуть на трассировку стека: http://pastebin.com/bKYkDzRa Кто-нибудь знает, как я могу это исправить?

С уважением, Ярослав

Ответы [ 2 ]

4 голосов
/ 05 декабря 2011

Вам нужно будет добавить необходимые библиотеки DLL в папку Lib и опубликовать папку lib на сайте AppHarbor.

Посмотрите на этот пример шаг 24, который решает ту же проблему:

  • В Visual Studio создайте папку в проекте DemoApp.Web с именем Lib.Эта папка будет содержать все сборки, от которых зависит веб-приложение и которые не являются частью .NET Framework.Поместив их в эту папку и пометив их как «Копировать в вывод», сборки будут развернуты и доступны в AppHarbor.Если вы не добавите сборки в эту папку, они не будут частью файлов в системе управления версиями и не будут загружены в BitBucket и AppHarbor.

  • Скопируйте библиотеки DLL из zip с помощьюГамак в папку Lib.

  • Откройте командную строку в папке, содержащей решение.Выполните следующую команду: subst S: DemoApp.Web \ Lib Это сопоставит папку Lib с виртуальным диском S :.Причина для этого заключается в том, что проекты Visual Studio будут содержать абсолютный путь к DLL, и при загрузке источников на несколько компьютеров эти пути будут отличаться.Подставка это исправит.Я даже создал небольшой командный файл, который делает это для меня, и поместил его в папку решения.

  • В Visual Studio щелкните правой кнопкой мыши папку Lib и выберите «Добавить |Существующие элементы и добавьте библиотеки Hammock и JSON в проект.Убедитесь, что вы отметили их обоих как «Копировать на выход».Щелкните правой кнопкой мыши проект DemoApp.Web и выберите «Добавить ссылку».Нажмите кнопку «Обзор» и перейдите на диск S: и добавьте обе библиотеки DLL.

3 голосов
/ 05 декабря 2011

Ошибка, которую вы показали выше, заключается в том, что Expression Blend SDK не установлен на сервере сборки. Поскольку он не установлен, MSBuild не может найти цель сборки Blend. Я не уверен, что это AppHarbor поддерживает или планирует поддерживать, но я бы порекомендовал вам связаться с ними, чтобы узнать, смогут ли они установить этот SDK для вас.

...