Web Deployment Projects fordítása Visual Studio nélkül

Nagyon kedvemre való az ASP.NET 2.0-ban megjelent Web Site projekt típus, elsősorban az egyszerűsége miatt. Sajnos van néhány hátránya is, amiből néhány az eltelt sok év alatt sem oldódott meg, másokra azonban van már jól használható megoldás. Ez utóbbiak közé tartozik a a projekt fordítása, azaz hogy a szerverre ne a nyers forráskódot kelljen feltennünk – és ezzel az ASP.NET runtime-ra bíznunk a fordítást – , hanem csak a lefordított DLL-eket és a kiürített ASPX fájlokat. Ezt a problémát tökéletesen megoldja a Web Deployment Projects (WDP) kiegészítés. Ezzel viszont az a bökkenő, hogy csak a nagy Visual Studiot támogatja, Visual Web Developer Expressre nem tudjuk telepíteni. Ha tehát van egy VS alatt készült projektünk, aminek a fordítását, CSS és Javascript minimalizálását, sőt az egész telepítő csomag összerakását a WDP végzi, akkor nem tudunk telepítőt gyártani az Express verzión, hiszen az nem tudja betölteni a WDP projekt típust. Szerencsére van megoldás.

Az a szerencsénk, hogy csak a dizájner támogatással van probléma, parancssorból le lehet fordítani az egész solutiont, DLL függőségekkel és WDP-vel együtt. Első lépésként tehát telepítsük fel a VWD Express mellé a WDP-et és fütyüljünk rá, hogy a kettő szóba se áll egymással. A lényeg, hogy a WDP telepítőjével az MSBuild taskok felkerültek a gépre.

A WDP projekt konfigurációjától függően valószínűleg kelleni fog még az aspnet_merge.exe, amit megtalálhatunk a nagy Visual Studios gépen vagy esetleg a Windows SDK-ban. Ezt egyszerűen másoljuk be a %ProgramFiles%\MSBuild\Microsoft\WebDeployment\v10.0 mappába.

Ha ez mind megvan, már indulhat is a teljes solution fordítása parancssorból:

"%WinDir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe"
  /target:Build
  /property:Configuration=Release
  MySolution.sln 
  /p:AspNetConfiguration=Release 

Fontos, hogy négyes MSBuildre van szükségünk, még akkor is, ha egyébként a projekt a 3.5-ös Framework verziót célozza meg.

Reklámok

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s