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:

DOS / Batch file

c:\IlNomeDelProgetto> csc.exe /target:library /out:bin/IlNomeDelProgetto.dll /recurse:*.cs /warn:0
In questo caso sto compilando un applicativo web scritto in C# (csc.exe è il compilatore per C sharp).
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 /?
o nel caso di Visual Basic

DOS / Batch file

vbc.exe /?
Per eseguire il comando non è necessario avere Visual Studio, ma solo il Framework .NET installato.
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:

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
per eseguirlo è sufficiente digitare:

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
Tags:
Batch (.BAT)8 .NET66 Visual Studio37
Potrebbe interessarti anche: