This is for launching mapserver from c# code
// Dopo aver referenziato le librerie Mapscript per c#
using OSGeo.MapServer;
///
/// Path del mapfile.
///
string mapfile = @"C:\ms4w\Apache\htdocs\cesena.map"
///
/// Path dell'immagine png da salvare.
///
string outputPng = @"C:\ms4w\Apache\htdocs\cesena.png"
///
/// Path allo shapefile senza l'estensione .shp
// Il file di questo esempio č C:\ms4w\Apache\htdocs\cesena.shp
///
string shpFileWithoutExtension = @"C:\ms4w\Apache\htdocs\cesena";
// Crea la mappa utilizzando il mapfile sorgente specificato
mapObj map = new mapObj(mapfile); // new mapObj(null); per inizializzare una mappa vuota
// Crea un nuovo layer che verrā poi inserito nella mappa
layer = new layerObj(null);
layer.name = "layer1";
// Lo status deve essere ON per essere visualizzato
layer.status = mapscript.MS_ON;
// Il layer deve mostrare le informazioni contenute nello ShapeFile indicato
layer.data = shpFileWithoutExtension;
// Imposta lo stile di visualizzazione del nuovo layer
styleObj style1 = new styleObj(null);
// Impostiamo grandezza e colore della linea di visualizzazione
style1.width = 2; // Spessore della linea - .size non funziona
stile1.color.setRGB(0, 0, 0);
// Lo stile deve essere associato a una classe che deve essere associata al layer
classObj class1 = new classObj(null);
class1.insertStyle(style1, -1);
layer.insertClass(class1, -1);
// Aggiunge un nuovo layer alla mappa
map.insertLayer(layer, -1);
// Crea un'immagine con la mappa in memoria
imageObj image = map.draw();
// Salva l'immagine su hard disk
image.save(outputPng, map);
// Disegna la mappa su un controllo picturebox
byte[] img = image.getBytes();
using (MemoryStream ms = new MemoryStream(img))
pictureBox.Image = Image.FromStream(ms);
// Salva il mapfile con il nuovo layer
map.save(mapfile);