2010-09-03 17 views
6

Pracuję nad aplikacją sieci web ASP.Net MVC w VS 2010. Chcę uruchomić aplikację internetową w moim lokalnym IIS 7 w jej własnej sieci. Mam plik moich hostów skonfigurowany tak, że * .dev wskazuje na mój lokalny adres IP, więc kiedy tworzę stronę Internetową IIS, mogę po prostu nadać jej unikalną nazwę hosta, taką jak myapp.dev, i działa.Visual Studio 2010 - jak opublikować na lokalnym serwerze IIS podczas kompilacji

To jest mój pierwszy projekt aplikacji internetowych z VS i staram się dowiedzieć, jak sprawić, aby VS opublikował kod aplikacji internetowej w mojej lokalnej sieci, kiedy uderzę w kompilację. Mam już działającą część publikacji, ale chcę ją zautomatyzować. Mogę też dodać, że mam kilka różnych warstw (bibliotek klas), które również muszą być budowane i publikowane jednocześnie.

Podsumowując, co chcę zrobić, to po wprowadzeniu zmian w kodzie Chcę przebudować rozwiązanie lub przebudować projekt i po pomyślnej kompilacji chcę, aby pliki, które zmieniono, zostały opublikowane w katalogu głównym, który skonfigurowałem dla tej konkretnej sieci w moim lokalnym IIS. Następnie mogę odświeżyć przeglądarkę, aby przetestować moje zmiany.

Czy są jakieś tutoriale na temat tego typu konfiguracji, do której ktoś może mnie polecić?

+1

Po co publikować? Dlaczego nie wskazać IIS na swój kod źródłowy? –

+0

John, jak to działa w przypadku projektów aplikacji WWW? Zrobiłem to dla projektów stron internetowych, ale uważałem, że WAP to inne zwierzę. Moja aplikacja to projekt MVC 2. – JBeckton

Odpowiedz

2

Mimo że używam 2008 roku, znacznie łatwiej było użyć do budowania i publikowania NAnt. Pozwala to na znacznie większą elastyczność i można go używać do publikowania zarówno w lokalnej, jak i produkcyjnej witrynie.

3

To okazało się o wiele prostsze niż myślałem. W VS 2010 dostępna jest nowa funkcja o nazwie "Publikowanie jednym kliknięciem", a także pasek narzędzi do tego. Stworzyłem już profil publikowania dla mojej lokalnej sieci WWW, więc wszystko co muszę zrobić, to kliknąć opublikuj! Wszystkie projekty w roztworze są następnie budowane i publikowane. Tak długo, jak wszystkie projekty są ustalane jako zależne, są one budowane i publikowane wraz z projektem sieciowym.

Teraz wszystko, czego potrzebuję, to skrót do publikacji jednego kliknięcia i wszystko gotowe.

Mogłabym sobie wyobrazić, że gdybym zdefiniował dodatkowe zadania kompilacji w pliku csproj, wszystko to również zostałoby wykonane.

5

Czy próbujesz używać usług IIS zamiast serwera sieciowego ASP.NET podczas programowania? Jeśli tak, możesz przejść do ustawień projektu internetowego, a następnie do karty internetowej, aby zmienić serwer WWW dla programistów na IIS i podać adres URL. W ten sposób nie trzeba niczego publikować, katalog wirtualny wskazuje na folder projektu. Kiedy więc skompilujesz i uruchomisz swoją aplikację internetową, podejmie ona wszelkie zmiany. Jeśli tego nie chcesz, możesz użyć narzędzia wiersza poleceń msdeploy w kroku po kompilacji, aby spakować i wdrożyć/zaktualizować aplikację WWW do lokalnych usług IIS. W ten sposób za każdym razem, gdy budujesz, msdeploy uruchomi i zaktualizuje IIS ze zmianami.

+0

Rozważałem to, ale nie chcę uruchamiać mojej aplikacji w katalogu wirtualnym http: // localhost/myapp /, będąc nowym w ASP.Net. Zmagałem się ze ścieżkami do różnych zasobów podczas przechodzenia z dev do produkcji. Uruchamianie mojej witryny dla programistów w katalogu głównym, tak jak w przypadku produkcji, pomaga mi sobie z tym poradzić. – JBeckton

0

Jako nowy w ASP.NET będę sugerować, że patrzysz na Url.Content dla linków wydawniczych (jeśli używasz MVC) lub System.Web.VirtualPathUtility.ToAbsolute("~/...") (jeśli nie) i dokonać rozsądnego korzystania z tyldy, aby uniknąć czynienia ze skutkami ubocznymi publishing strona z różnymi źródłami. Zapoznanie się z tym spowoduje możliwość skorzystania z niektórych z powyższych sugestii (wskazanie IIS w katalogu projektu dla jednego).

Inną opcją jest otwarcie pliku projektu i praca z obiektem kompilacji AfterBuild. Odkomentowanie go i dodanie zadania aspnetcompiler wraz z zadaniem publikowania również spowoduje to samo, a jeśli wykonujesz publikację jednym kliknięciem, możesz także rozdzielić zadania budowania na podstawie $ (konfiguracja), określając warunek.

Zasugeruję również, abyś przeczytał, jak dostosować kompozycje do projektów internetowych. Istnieje już wiele artykułów, które zapewnią ci dobrą kondycję.

Powiązane problemy