2011-11-23 11 views
8

Potrzebuję zaangażować kilka znaczników i javascript ludzi, aby pomóc zespołowi programistycznemu na projekcie azure asp.net MVC.Jak uruchomić aplikację emulacji lazuru w trybie programistycznym bez wizualnego studio

Zasadniczo potrzebuję, aby każda osoba uruchamiała lokalną instancję aplikacji lazurowej, aby móc wprowadzać zmiany w plikach treści (chtml/css/js) i testować/debugować je, tak jak w VisualStudio (Ctrl + F5).

Chociaż łatwo jest dostarczyć kod źródłowy wszystkim stronom, aby każda osoba miała swoją własną kopię roboczą - używamy svn, natrafiłem na problem z uruchomieniem lokalnej kopii aplikacji w dev fabric.

Nie chcę instalować Visual Studio dla wszystkich, ponieważ jest to czasochłonne i zbyt kosztowne tylko w celu uruchomienia dev fabric. Te osoby nie używają VisualStudio dla html/css/js. Oraz wszystkie niezbędne narzędzia dostępne za pomocą pakietów SDK: MSBuild, Azure, WIF, cokolwiek.

I nawet udało się uruchomić dev tkaniny z aplikacji przy użyciu

MSBuild.exe Azure\Azure.ccproj /t:Publish 
CSRun.exe Azure\csx\Debug Azure\bin\Debug\ServiceConfiguration.cscfg 

Wszystko działa dobrze z wyjątkiem jednej rzeczy - zawartość plików są kopiowane pod Azure\obj\Debug\WebRole folderu wraz z wszystkich plików binarnych.

To różni się od kompilacji VisualStudio - tam folder zawiera tylko pliki binarne, a pliki zawartości pozostają na swoich miejscach. Jest to znacznie wygodniejszy sposób wprowadzania zmian, ponieważ pliki nie tylko natychmiast dostępne do debugowania po zapisaniu, ale także mogą być łatwo rejestrowane/wyprowadzane ze sterowania źródłowego.

Przejrzałem numer referencyjny CSPack i na pewno powinien pozwolić na taki scenariusz, jakiego potrzebuję, ale ciężko jest wymyślić, jak go osiągnąć. Podejrzewam, że musi istnieć sposób wykonania takiego wdrożenia za pomocą MSBuild (tak długo, jak VisualStudio w dużym stopniu polega na nim we wszystkich działaniach związanych z budynkiem/wdrożeniem), ale nie mogę znaleźć sposobu, aby powiedzieć mu, czego chcę.

Czy ktoś wie, czy można właściwie uruchomić CSPack, aby powtórzyć scenariusz wdrożenia debugowania VisualStudio, czy właściwy cel/parametry dla MSBuild, aby uruchomić projekt Lazury w taki sam sposób jak VisualStudio?

Może istnieje sposób na zerknięcie na rzeczywistą linię poleceń wykonaną wewnątrz kompilacji VisualStudio?

+1

czuje się jak do ciężkiej środowiska tylko dla znaczników/CSS/treści. Może być łatwiej mieć osobny projekt z tym, czego potrzebują, a następnie zintegrować swoją pracę z resztą w trybie offline (lub na serwerze kompilacji). Mój 0,02. –

+0

Zgadzam się. Jeśli jest to tylko strona internetowa, z którą pracujesz, nie ma powodu, dla którego ma działać w emulatorze.Jeśli rozmawiasz z pamięcią masową, możesz wskazać je na platformie Azure, a nie na pamięci masowej dla programistów. Istnieją również umowy dotyczące pracy dla wszystkich innych zależności. – knightpfhor

Odpowiedz

4

Ok, po kilku godzinach kopania pod Microsoft.WindowsAzure.targets i dodatkowymi taniec z tamburyn znalazłem magiczne przełączniki:

MSBuild.exe Azure\Azure.ccproj /p:PackageForComputeEmulator=true /p:PackageWebRole=False 

Ten pakietów aplikacji jak VisualStudio robi. Zauważ, że logika budowy lazuru rozróżnia cele Build i Publish i stosuje różne reguły w zależności od tego, czy określono jedno, drugie czy oba. Dla mojego scenariusza musiało to być tylko Build (domyślnie).

2

Alternatywnie próbowałeś minięciu p:PublishDir=Directory w swoim oryginalnym przykład argumentu msbuild, np .:

/t:Publish /p:PublishDir=\\\mydroplocation\cloudpackage\ 
Powiązane problemy