24

Właśnie zaczynam pracę z Silverlight i niedawno dodałem projekt Silverlight do ustalonego rozwiązania. W tym szczególnym scenariuszu moje rozwiązanie zawierało istniejącą stronę ASP.NET (nie aplikację), którą Visual Studio zaproponował, aby zintegrować moją aplikację Silverlight z, którą zaakceptowałem.Jak uzyskać kopię Xap programu Silverlight skopiowaną do klienta clientbin na kompilacji

Wszystko jest w porządku i wszystko, a plik Xap Silverlight jest kopiowany do katalogu ClientBin witryny sieci Web. Teraz postanowiłem uruchomić nową aplikację sieci web ASP.NET MVC, która ostatecznie zastąpi starszą (nie-MVC) stronę internetową. Ale nie mogę do końca życia dowiedzieć się, co zmodyfikował Visual Studio, aby XAP automatycznie pojawił się w witrynie ClientBin na stronie kompilacji, tak że mogę to odtworzyć na mojej witrynie MVC.

Moje pytanie brzmi: jakie są ręczne kroki, aby program Visual Studio mógł automatycznie kopiować XAP aplikacji Silverlight do nowo dodanej aplikacji sieci Web ASP.NET MVC?

+0

Dziękuję za rozwiązanie. –

Odpowiedz

16

Kopiowanie XAP do ClientBin jest zadaniem MSBuild. Jeśli używasz standardowego szablonu projektu ASP.NET, możesz go znaleźć w sekcji Link Silverlight.

W przypadku wszystkich innych zadań możliwe jest wykrycie nazwy zadania MSBuild i dodanie go do projektu ASP.NET MVC. Najprostszym rozwiązaniem będzie prawdopodobnie niestandardowe zdarzenie typu post-build w projekcie APS.NET w celu skopiowania pliku.

Nie ma "magii", która wydarzyłaby się bardziej niż skopiowanie pliku XAP z katalogu BIN projektu Silverlight do ClientBin twojej aplikacji internetowej. Nie musi nawet mieszkać w katalogu ClientBin - możesz go skopiować do dowolnego katalogu lub katalogu głównego swojej witryny.

Aktualizacja: Niedawno wydany Beta 1 z ASP.NET MVC zawiera wsparcie dla projektów Silverlight, więc można połączyć go do aplikacji ASP.NET MVC ten sam sposób, jak dla zwykłych aplikacji ASP.NET.

+0

Słodki! Dziękujemy za aktualizację. –

35

Możesz to zrobić poprzez właściwości swojego projektu internetowego. Narzędzia Silverlight do wizualnego studio dodają nową kartę do właściwości projektów internetowych o nazwie "Silverlight Links".

Dodaj tutaj odnośnik do swojego projektu Silverlight, z folderem, gdzie chcesz, a studio wizualne zrobi dla Ciebie kopię.

+5

Jeśli nie masz zakładki "Łącza Silverlight" w projekcie WWW; zainstaluj pakiet SDK Silverlight – detroitpro

4

Przejdź do strony własności swojej aplikacji Silverlight, Wybierz Budowanie Imprezy Tab, Enter następujący wiersz w Post-Budowanie wiersza polecenia wydarzenia:

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

teraz dalej, na każdej udanej kompilacji, plik XAP będzie skopiowane automatycznie.

2

To jest nieco starszy post, więc prawdopodobnie się zmienił ... w moim Visual Studio w ramach projektu internetowego znajduje się zakładka "Aplikacje Silverlight". Jest tam przycisk dodawania dla istniejących projektów, które importujesz do rozwiązania i możesz je dodać i wybrać umieszczenie xap w ClientBin lub gdziekolwiek indziej. Nie wiem, czy musisz mieć zainstalowany SDK, aby mieć tę kartę. Mam go zainstalowany, więc być może będziesz musiał. Nie robię MVC, więc może być inaczej w przypadku projektów MVC, nie wiem.

Powiązane problemy