Как развернуть приложение Lightswitch как веб-приложение, так и настольное приложение?

Я хочу опубликовать свое приложение LightSwitch как трехуровневое настольное приложение и как веб-приложение. Есть ли способ сделать это синхронно? И есть ли какие-либо команды, которые позволили бы мне выполнять проверки, прежде чем пытаться, например. Действия OOB в веб-приложении? По сути, я ничего не могу найти в Интернете о развертывании как на рабочем столе (OOB), так и в Интернете. Я хочу знать, есть ли какие-либо знания по этому поводу.


person DTreth    schedule 08.03.2013    source источник


Ответы (1)


Вы должны быть в состоянии определить, является ли ваше приложение Lightswitch в браузере или вне браузера, используя свойство AutomationFactory.IsAvailable, которое должно возвращать false для браузера и true для вне браузера.

Что касается публикации как для рабочего стола, так и для Интернета, я думаю, вы можете просто запустить мастер публикации для рабочего стола, чтобы он создал необходимые файлы в каталоге ../Publish, сохранить их где-нибудь, а затем повторно запустить мастер публикации для Интернета. Пока вы публикуете данные в одном и том же месте (при условии, что вам нужны общие данные между обоими приложениями), это должно работать (однако я не пробовал, поэтому никаких гарантий).

person RichardC    schedule 08.03.2013
comment
Сегодня я собираюсь поиграть с этим в течение дня (если я смогу получить свой сервер IIS, то есть), но теперь я помню, что видел трюк AutomationFactory.IsAvailable раньше, спасибо! Я отмечаю это как ответ, но сообщу, когда попробую множественное развертывание и смогу подтвердить, что оно работает. Одна вещь, которая приходит на ум как дополнительный камень преткновения, — это автоматическое управление версиями, которое увеличивается при каждом развертывании. Если это число отличается, я вижу проблему, но это то, что мне нужно проверить! - person DTreth; 08.03.2013
comment
Я почти уверен, что версия будет увеличиваться каждый раз, но я не уверен, почему это может вызвать проблему (если вы не используете это для чего-то в приложении). Вы всегда можете управлять старшими и второстепенными номерами, если только вы не используете их для проверки «одинаковых версий». При развертывании вы будете делать это в 2 разных местах, поэтому проверки автоматического обновления также не должны вызывать проблем. - person RichardC; 11.03.2013
comment
Soupy, я попробовал это, и есть несколько ошибок, однако в значительной степени это работает так, как вы ожидаете. Что касается номера версии, если вы действительно хотели убедиться, что числа одинаковы, закройте VS после развертывания и НЕ сохраняйте три файла, которые он хочет (общий, клиентский и серверный файлы AssemblyInfo.cs). Затем снова откройте решение и повторно разверните его с другой конфигурацией. Это должно сработать, чтобы оба раза вывести один и тот же номер с автоверсией. Я отвечу на ваш комментарий полностью, как только наши ИТ-специалисты разберутся с присоединением к домену, потому что сейчас я сталкиваюсь с этой проблемой. - person DTreth; 14.03.2013
comment
Я просматривал SO и нашел это. Я должен был ответить, так что я сейчас! Все это прекрасно работает с Active Directory и двойным развертыванием. Номер сборки увеличивается, но это никогда не было проблемой, поэтому я даже отказался от шага закрытия VS и повторного открытия. - person DTreth; 21.05.2015