Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET - VS 2010 Express] Opzioni di compilazione
Forum - C# / VB.NET - [VB.NET - VS 2010 Express] Opzioni di compilazione

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
Salve a tutti,
E' un bel po' che lavoro con VB.NET e con Visual Studio (prima 2005 e poi 2010) e solo adesso mi sono accorto delle miriadi di impostazioni per l'applicazione.
Ho visto che in Visual Studio 2010 ci sono numerose opzioni per la compilazione nella tab delle proprietà progetto (Progetto > Proprietà di [NomeProgetto])

Intanto si può scegliere tra 4 diverse configurazioni (esposte in un menu a tendina): Attiva (Debug), Debug, Release, Tutte le configurazioni
Poi per ognuna abbiamo varie opzioni che conosco (percorso dell'output, segnalazione degli errori/avvisi, option strict/option explicit/ option binary/option text), ed anche una serie di opzioni "avanzate" che si settano da una finestra di dialogo che si apre tramite un pulsante in fondo alla tab (è necessario scrollare giù per vederlo)

E li è pieno di altre opzioni che sembrano interessanti, ma non conosco:
Rimuovi controllo dell'overflow di Integer
Attiva ottimizzazioni (?)
Genera informazioni di Debug (Full, None, pdb-only) (?)
Definisci costante DEBUG (?)
Definisci costante TRACE (?)
Costanti personalizzate (TextBox) (?)
Genera assembly di serializzazione (Automatico, Attiva, Disattiva) (?)
Framework di destinazione (?)

A cosa servono tutte queste ultime opzioni?
Come posso utilizzarle per ottimizare la mia applicazione?
Come cambio la compilazione da Debug a Release?

E altra domanda magari ovvia: nei computer in cui girano le applicazioni sviluppate in vb.net, deve esserci il framework opportuno? Altrimenti non funzionano?

Grazie a chi mi aiuterà :k:
Ciao ;)

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
3
Down
V
Segnala al moderatore
Postato alle 11:35
Giovedì, 17/03/2011
1) Rimuove l'overflow check. In questo modo Int32.MaxValue+1 restituirà Int32.MinValue e non verrà generata alcuna eccezione.
2) Per l'ottimizzazione vedi qui:
http://en.wikipedia.org/wiki/Compiler_optimization
3) Le informazioni di debug ti permettono di esplorare i valori di oggetti e variabili durante l'esecuzione in modalità debug.
4) DEBUG è una costante globale che indica se il debug è attivo. Viene utilizzata dagli oggetti di debugging, come la classe Debug. Inoltre ti permette di eseguire o meno pezzi di codice mediante le direttive #IF (la #ifdef del C) oppure di saltare metodi o classi con l'attributo Conditional.
5) Simile a DEBUG:
http://www.helixoft.com/blog/archives/20
6) Permette di definire altre costanti oltre a DEBUG e TRACE.
7) Viene generato un assembly a parte il cui compito esclusivo è occuparsi di serializzare e deserializzare classi definite nel progetto corrente. Migliora le prestazioni di XmlSerializer, in modo che questo non debba risolvere i tipi a runtime.
8) Versione del framework da usare.
9) Da Debug a Release vengono tralasciate tutte le informazioni legate al debug e applicate tutte le ottimizzazioni. L'eseguibile compilato in Release è in genere più performante, o comunque più leggero.
10) Se un'applicazione richiede il fw2.0, non verrà eseguita su macchine che abbiano versioni differenti.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
3
Down
V
Segnala al moderatore
Postato alle 10:20
Domenica, 20/03/2011
Per compilare in release, vai su Build > Configuration Manager e cambia il tipo di configurazione attuale.
L'ottimizzazione si chiama così per un buon motivo. In genere è sempre un vantaggio.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
0
Down
V
Segnala al moderatore
Postato alle 13:59
Giovedì, 17/03/2011
Grazie mille per la risposta Totem, hai chiarito molti miei dubbi :k:
Utile due cose: come faccio a compilare in Release? Quando fai "Compila" (o "Build") lo fa già in Release? Poichè a me sembra ci siano file che servono per il debug nell'output
E che ne pensi dell'ottimizzazione dell'applicazione? Andrebbe fatta? Funziona bene o rischia di incasinarti il codice?

Grazie ancora,
Ciao ;)

PM
Avatar
danduz97 (Normal User)
Pro


Messaggi: 130
Iscritto: 13/03/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 17:20
Giovedì, 17/03/2011
Wow grazie, mi hai dato una dritta anche a me!:k:


Quando un VeroProgrammatore da bambino impara a parlare, le sue prime parole non sono "mamma" o "papà" ma "Hello, World!"

Quando da piccolo a scuola il VeroProgrammatore doveva fare il tema "il mio papà", scriveva semplicemente Papà.toString().
PM
Usa i commenti per chiedere spiegazioni o ringraziare le risposte.