Как скопировать Silverlight XAP в клиентскую корзину при сборке - PullRequest
24 голосов
/ 16 октября 2008

Я только начинаю работу с Silverlight и недавно добавил проект Silverlight в уже установленное решение. В этом конкретном сценарии мое решение включало существующий веб-сайт ASP.NET (не приложение), в который Visual Studio любезно предложила интегрировать мое приложение Silverlight, и я согласился.

Так что все в порядке и все, и Silverlight XAP копируется в каталог ClientBin веб-сайта. Теперь я решил запустить новое веб-приложение ASP.NET MVC, которое в конечном итоге заменит старый (не MVC) веб-сайт. Но я не могу понять, что изменило Visual Studio, чтобы XAP автоматически появлялся в ClientBin веб-сайта при сборке, чтобы я мог воспроизвести его на своем MVC-сайте.

Таким образом, мой вопрос по существу, каковы ручные шаги для получения Visual Studio для автоматического копирования XAP приложения Silverlight во вновь добавленное веб-приложение ASP.NET MVC?

Ответы [ 4 ]

35 голосов
/ 16 октября 2008

Вы можете сделать это через свойства вашего веб-проекта. Инструменты Silverlight для Visual Studio добавляют новую вкладку в свойства веб-проектов под названием «Ссылки Silverlight».

Добавьте сюда ссылку на ваш проект Silverlight, с папкой, в которой вы хотите, и Visual Studio сделает копию для вас.

16 голосов
/ 16 октября 2008

Копирование XAP в ClientBin является задачей MSBuild. Если вы используете стандартный шаблон проекта ASP.NET, его можно найти в разделе «Ссылка Silverlight».

Для всего остального вы можете выяснить имя задачи MSBuild и добавить его в свой проект ASP.NET MVC. Возможно, более простым решением было бы использовать пользовательское событие после сборки в проекте APS.NET для копирования файла.

Не происходит никакого "волшебства", кроме копирования файла XAP из каталога BIN вашего проекта Silverlight в ClientBin вашего веб-приложения. Он даже не должен находиться в каталоге ClientBin - вы можете скопировать его в любой каталог или корень вашего сайта.

Обновление: Недавно выпущенная бета-версия ASP.NET MVC включает поддержку проектов Silverlight, поэтому вы можете связать ее с приложением ASP.NET MVC так же, как и с обычными приложениями ASP.NET. .

4 голосов
/ 10 июля 2010

Перейдите на страницы свойств приложения Silverlight, выберите вкладку «События сборки», введите следующую строку в командной строке событий после сборки:

copy $(TargetDir)*.xap $(SolutionDir)<youar web solution folder name such as app.web>\ClientBin

Теперь при каждой успешной сборке файл xap будет копироваться автоматически.

2 голосов
/ 22 сентября 2011

Это несколько более старая публикация, поэтому она, вероятно, изменилась ... в моем Visual Studio под веб-проектом есть вкладка "Приложения Silverlight". Там есть кнопка добавления для существующих проектов, которые вы импортируете в решение, и вы можете добавить их и выбрать размещение xap в ClientBin или где-либо еще. Не уверен, что вам нужно установить SDK для этой вкладки. Я установил его, так что, возможно, вам придется. Я не делаю MVC, поэтому он может быть другим для проектов MVC, я не знаю.

...