Скомпилируйте веб-приложение без ссылок на проект Silverlight - PullRequest
0 голосов
/ 03 июня 2011

У нас есть полусложное решение Visual Studio, которое имеет интерфейс Silverlight 4, CSLA 4.1 для бизнес-объектов и использует портал данных CSLA WCF. Из-за использования CSLA для сериализации по проводной сети наши бизнес-сборки Silverlight должны иметь то же имя, что и наши бизнес-сборки на стороне сервера . Проблема возникает при попытке создать наше веб-приложение из-за конфликтующих имен сборок. Компиляция на коробке разработчика работает нормально, поскольку Visual Studio делает свое собственное чудо, чтобы избежать конфликтов на уровне решения, но наличие отдельных сборок для веб-приложения и проектов Silverlight на сервере сборки вызывает проблемы из-за веб-приложения, ссылающегося на Silverlight проекты в .csproj. В связи с этим, когда у нас TFS выполняет сборку с веб-приложением, она пытается скомпилировать проекты Silver и обновить XAP. У нас это делается как отдельная сборка, поэтому нас это не волнует.

Можно ли настроить сборку веб-приложения .csproj на компьютере разработчика со сборкой ссылок Silverlight, но игнорировать их на сервере сборки? В идеале это подразумевало бы не полагаться на наши собственные свойства MSBuild, создаваемые при сборке в TFS. В крайнем случае мы могли бы перестать полагаться на сценарии сборки .csproj и создать собственный файл MSBuild, но у нас пока нет на это времени.

1 Ответ

1 голос
/ 03 июня 2011

В итоге я решил изменить веб-приложение .csproj так, чтобы строка

<SilverlightApplicationList>...</SilverlightApplicationList>

имел следующие условия

<SilverlightApplicationList Condition="'$(SilverlightApplicationList)' == ''">...</SilverlightApplicationList>

Затем в определении сборки для проекта в разделе Process -> MSBuild Arguments я добавил

/p:SilverlightApplicationList=" "

Так что теперь разработчики могут создавать локально, а процесс сборки может создавать только веб-приложение без проектов Silverlight.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...