aspose.info
IT

SLN

Aggiornato

Che cos’è il file SLN?

Un file con estensione .SLN rappresenta un file Soluzione Visual Studio che conserva le informazioni sull’organizzazione dei progetti in un file di soluzione. I contenuti di tale file di soluzione sono scritti in testo normale all’interno del file e possono essere osservati/modificati aprendo il file in qualsiasi editor di testo. Le informazioni contenute in un file di soluzione rimangono persistenti e vengono utilizzate per caricare le informazioni associate alla soluzione come projects e qualsiasi altra informazione richiesta. I file di progetto a cui fa riferimento il file di soluzione contengono informazioni aggiuntive per consentire all’ambiente di popolare la gerarchia con gli elementi di quel progetto. Nessun dato viene memorizzato nel file .sln, sebbene le informazioni sul progetto possano essere scritte nel file .sln, se necessario.

Cronologia versioni SLN

La versione del formato della soluzione si è evoluta con ogni soluzione di Microsoft Visual Studio con il passare del tempo. I dettagli su questi sono i seguenti.

Versione Visual StudioVersione formato soluzione
20038.00
20059.00
200810.00
201011.00
201312.00
201512.00
201712.00

Contenuto di un file di soluzione

Un file di soluzione è costituito da diverse sezioni che vengono lette dall’ambiente per caricare il progetto. Un esempio di contenuto del file .sln è mostrato di seguito.

Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") # "Project1", "Project1.vbproj", "{8CDD8387-B905-44A8-B5D5-07BB50E05BEA}"  
EndProject  
Global  
  GlobalSection(SolutionNotes) # postSolution  
  EndGlobalSection  
  GlobalSection(SolutionConfiguration) # preSolution  
       ConfigName.0 # Debug  
       ConfigName.1 # Release  
  EndGlobalSection  
  GlobalSection(ProjectDependencies) # postSolution  
  EndGlobalSection  
  GlobalSection(ProjectConfiguration) # postSolution  
   {8CDD8387-B905-44A8-B5D5-07BB50E05BEA}.Debug.ActiveCfg # Debug|x86  
   {8CDD8387-B905-44A8-B5D5-07BB50E05BEA}.Debug.Build.0 # Debug|x86  
   {8CDD8387-B905-44A8-B5D5-07BB50E05BEA}.Release.ActiveCfg # Release|x86  
   {8CDD8387-B905-44A8-B5D5-07BB50E05BEA}.Release.Build.0 # Release|x86  
  EndGlobalSection  
  GlobalSection(ExtensibilityGlobals) # postSolution  
  EndGlobalSection  
  GlobalSection(ExtensibilityAddIns) # postSolution  
  EndGlobalSection  
EndGlobal

Dichiarazione di progetto

Un file di soluzione può contenere più di una dichiarazione di progetti e anche quella di tipi di progetto diversi. Ad esempio, un singolo file di soluzione può contenere un CSharp e un progetto VB.NET. Questi tipi vengono distinti in una soluzione utilizzando Project-Type-GUID. La dichiarazione di progetto di cui sopra può essere generalizzata come segue per una chiara comprensione.

Project("{Project-Type-GUID}") # "Project-Name", "Project-Path.extension", "{Project-GUID}"

Project-Type-GUID: Il Project-Type-GUID è unico per diversi tipi di progetto e viene utilizzato dal lettore di soluzioni per identificare il tipo di progetto. In questo caso, F184B08F-C81C-45F6-A57F-5ABD9991F28F mostra che si tratta di un progetto VB.NET.

Project GUID: Il GUID univoco del progetto che lo differenzia da altri progetti nella soluzione. L’ID univoco di un progetto nella soluzione consente ad altri progetti nella soluzione di accedervi.

In base alle informazioni contenute nella sezione del progetto del file .sln, l’ambiente carica ogni file di progetto. Il progetto stesso è quindi responsabile del popolamento della gerarchia del progetto e del caricamento di eventuali progetti nidificati. Eventuali modifiche apportate alla soluzione vengono salvate nel file della soluzione al salvataggio o alla chiusura del progetto.

Soluzione di Visual Studio vs progetto

Progetto: Logicamente, quando inizi a creare un’app o un software usando Visual Studio, inizi un nuovo progetto. Un progetto contiene tutti i file necessari come codice sorgente, icone, immagini, file di dati e altro, che verranno compilati in un’app eseguibile, un sito Web o una libreria.

Soluzione: una soluzione contiene uno o più progetti. Quindi la soluzione è proprio come un contenitore per i progetti di Visual Studio. Logicamente, possiamo dire che qualcuno vuole ottenere una soluzione completa per la sua attività che includa un sito Web, un’app desktop, un servizio riposante e un’app mobile.

Riferimenti

Vedi anche