Compilare in .NET da linea di comando senza Visual Studio
E' possibile compilare un qualsiasi progetto WEB sviluppato con .NET da linea di comando, anche se lo si era precedentemente, sviluppato con Visual Studio e magari con code behind.
Il comando per compilare è il seguente:
In questo caso sto compilando un applicativo web scritto in C# (csc.exe è il compilatore per C sharp).
o nel caso di Visual Basic
Se il comando (csc o vbc) non viene trovato è perché non è nella variabile d'ambiente PATH. In questo caso bisogna vedere dove è installato il Framework .NET e digitare il percorso completo.
Ad esempio:
Digitare ogni volta tutto il comando può essere un po' noioso, quindi è meglio fare un file .BAT che ci semplifichi il lavoro.
Creare con notepad un file make.bat nella root del sito e digitare il seguente testo:
per eseguirlo è sufficiente digitare:
Esempio di BAT per la compilazione di una WebPart di SharePoint 2007 che, inoltre, aggiunge la dll alla GAC, riavvia l'application pool ed apre la pagina di SharePoint nel browser
Il comando per compilare è il seguente:
DOS / Batch file
c:\IlNomeDelProgetto> csc.exe /target:library /out:bin/IlNomeDelProgetto.dll /recurse:*.cs /warn:0
Prima di digitare il comando posizionarsi nella cartella che contiene il progetto.
Ovviamente è possibile compilare qualsiasi applicativo .NET, per avere maggiori informazioni e per conoscere il significato di tutte le opzioni, digitare:DOS / Batch file
csc.exe /?
DOS / Batch file
vbc.exe /?
Ad esempio:
DOS / Batch file
c:\IlNomeDelProgetto> C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc.exe /target:library /out:bin/IlNomeDelProgetto.dll /recurse:*.cs /warn:0
Digitare ogni volta tutto il comando può essere un po' noioso, quindi è meglio fare un file .BAT che ci semplifichi il lavoro.
Creare con notepad un file make.bat nella root del sito e digitare il seguente testo:
DOS / Batch file: make.bat
%WINDIR%\Microsoft.NET\Framework\v1.1.4322\csc.exe /target:library /out:bin/%1.dll /recurse:*.cs /warn:0
DOS / Batch file
c:\IlNomeDelProgetto> make IlNomeDelProgetto
Esempio di BAT per la compilazione di una WebPart di SharePoint 2007 che, inoltre, aggiunge la dll alla GAC, riavvia l'application pool ed apre la pagina di SharePoint nel browser
DOS / Batch file
@ECHO OFF
time /T
SET DLLNAME=WebPart_TestPostBack
SET OUTDIR=Bin\Debug
SET KEYFILE=Properties\Temporary.snk
SET PAGE=http://localhost/Pages/Test.aspx
SET APPPOOL=SharePoint - 80
SET SHAREPOINTDLL=%CommonProgramFiles%\Microsoft Shared\web server extensions\12\ISAPI\Microsoft.SharePoint.dll
IF "%1"== "/r" GOTO RECICLE
IF "%1"== "/R" GOTO RECICLE
IF "%1"== "/g" GOTO GAC
IF "%1"== "/g" GOTO GAC
ECHO * compiling
"%WINDIR%\Microsoft.NET\FrameWork\v2.0.50727\csc.exe" /target:library /out:"%OUTDIR%\%DLLNAME%.dll" /recurse:*.cs /warn:0 /keyfile:"%KEYFILE%" /debug:full /pdb:"%OUTDIR%\%DLLNAME%.pdb" /r:"%SHAREPOINTDLL%"
IF NOT %ERRORLEVEL%==0 GOTO ERRORCSC
:GAC
ECHO * add to GAC
"%ProgramFiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" /i "%OUTDIR%\%DLLNAME%.dll" /f
IF NOT %ERRORLEVEL%==0 GOTO ERRORGAC
:RECICLE
ECHO * recicle AppPool
iisapp.vbs /a "%APPPOOL%" /r
IF NOT %ERRORLEVEL%==0 GOTO ERRORAPP
ECHO * open page
start %PAGE%
ECHO * current AppPool
iisapp.vbs /a "%APPPOOL%"
ECHO * OK
GOTO FINE
:ERRORCSC
ECHO ***************************************************
ECHO ERRORE NON COMPILATO
GOTO FINE
:ERRORGAC
ECHO ***************************************************
ECHO ERRORE NON copiato nella gac
GOTO FINE
:ERRORAPP
ECHO ***************************************************
ECHO ERRORE application pool (%APPPOOL%) non trovato
GOTO FINE
:FINE