Configurazioni standard e personalizzate del set di strumenti

Il set di strumenti di MSBuild contenenti attività, destinazioni e strumenti che è possibile utilizzare per compilare un progetto di applicazione.MSBuild include un set di strumenti standard, ma è anche possibile creare un set di strumenti personalizzato.Per informazioni su come specificare il set di strumenti, vedere Set di strumenti di MSBuild (ToolsVersion)

Configurazioni standard del set di strumenti

MSBuild 4.5 include i set di strumenti descritti di seguito:

ToolsVersion

Percorso del set di strumenti (come specificato nella proprietà di compilazione di MSBuildBinPath o MSBuildToolsPath)

2.0

percorso di installazione di Windows\Microsoft.Net\Framework\v2.0.50727\

3.5

percorso di installazione di Windows\Microsoft.NET\Framework\v3.5.20223\

4.0

percorso di installazione di Windows\Microsoft.NET\Framework\v4.0.30319\

Il valore ToolsVersion determina quale set di strumenti utilizzati da un progetto generato da Visual Studio.Specificare ToolsVersion come attributo nell'elemento Project del file di progetto, ma è possibile eseguire l'override di tale attributo utilizzando l'opzione /toolsversion a un prompt dei comandi.Per informazioni su questo attributo, questa opzione e gli altri modi per specificare ToolsVersion, vedere Override delle impostazioni ToolsVersion.

Se ToolsVersion non viene specificato, i seguenti tasti definiscono ToolsVersion.

Hive del Registro di sistema

Nome della chiave

Valore della chiave della stringa

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5\

DefaultToolsVersion

2.0

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0\

DefaultToolsVersion

2.0

Le chiavi del Registro di sistema seguenti specificano il percorso di installazione di .NET Framework associate a ciascuna ToolsVersion.Il percorso di installazione specifica inoltre la posizione di MSBuild.exe, che definisce le informazioni del set di strumenti.

Hive del Registro di sistema

Nome della chiave

Valore della chiave della stringa

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0\

MSBuildToolsPath

.NET Framework 2.0 installa il percorso

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5\

MSBuildToolsPath

.NET Framework 3.5 installa il percorso

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\

MSBuildToolsPath

.NET Framework 4 installa il percorso

Bb397428.collapse_all(it-it,VS.110).gifi set di strumenti

Se la chiave del Registro di sistema nella tabella precedente è una sottochiave, MSBuild viene utilizzata per determinare il percorso dei set di strumenti che contengono più strumenti.La sottochiave è riportato un esempio:

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\11.0

La proprietà di compilazione VisualStudioVersion indica se i i set di strumenti diventano attivi.Ad esempio, un valore VisualStudioVersion “11,0„ specifica dei set di strumenti di .NET Framework 4,5.Per ulteriori informazioni, vedere la sezione dei set di strumenti Set di strumenti di MSBuild (ToolsVersion).

[!NOTA]

Si consiglia di non modificare tali impostazioni.Tuttavia, è possibile aggiungere impostazioni personalizzate e definire tutto il le definizioni del set di strumenti personalizzate, come illustrato nella sezione successiva viene descritto.

Definizioni di set di strumenti personalizzati

Se un set di strumenti standard non soddisfa i requisiti di compilazione, è possibile creare un set di strumenti personalizzato.Ad esempio, è possibile utilizzare uno scenario di lavoro di compilazione in cui è necessario disporre di un sistema separato per compilare i progetti Visual C++.Utilizzando il set di strumenti personalizzato, è possibile assegnare valori personalizzati all'attributo ToolsVersion quando si creano i progetti o MSBuild.exe eseguito. In questo modo, è possibile utilizzare la proprietà $(MSBuildToolsPath) per importare il file targets da tale directory.

Specificare i set di strumenti personalizzato nel file di configurazione per MSBuild.exe (o per lo strumento personalizzato che ospita il motore MSBuild se questo è quello utilizzato).Ad esempio, il file di configurazione per MSBuild.exe potrebbe includere la seguente definizione del set di strumenti.

<msbuildToolsets default="3.0">
   <toolset toolsVersion="4.0">
      <property name="MSBuildToolsPath" 
        value="C:\Windows\Microsoft .NET\Framework\v3.0" />
   </toolset>
</msbuildToolsets>

<msbuildToolsets> deve essere definito nel file di configurazione, come segue.

<configSections>
   <section name="msbuildToolsets"       
       Type="Microsoft.Build.BuildEngine.ToolsetConfigurationSection, 
       Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, 
       PublicKeyToken=b03f5f7f11d50a3a"
   </section>
</configSections>

[!NOTA]

Per essere letto correttamente, <configSections> sia la prima sottosezione nella sezione <configuration>.

ToolsetConfigurationSection è una sezione di configurazione personalizzata che può essere utilizzata da qualsiasi host per la configurazione personalizzata.Se si utilizza un set di strumenti personalizzato, per inizializzare il motore di compilazione un host deve solo fornire le voci del file di configurazione.Definendo le voci nel Registro di sistema, è possibile specificare set di strumenti per l'intero computer che si applicano a MSBuild.exe, Visual Studio e a tutti gli host di MSBuild.

[!NOTA]

Se un file di configurazione definisce le impostazioni per ToolsVersion già definito nel Registro di sistema, le due definizioni non vengono unite.La definizione nel file di configurazione ha la precedenza e le impostazioni nel Registro di sistema per tale ToolsVersion vengono ignorate.

Le proprietà seguenti sono specifiche del valore ToolsVersion utilizzato nei progetti:

  • $ (MSBuildBinPath) viene impostato sul valore ToolsPath specificato nel Registro di sistema o nel file di configurazione in cui ToolsVersion è definito.$(MSBuildToolsPath) che imposta nel Registro di sistema o nel file di configurazione specifica il percorso del set di strumenti.Nel file di progetto, esegue il mapping alla proprietà $(MSBuildBinPath) e anche alla proprietà $(MSBuildToolsPath).

  • $ (MSBuildToolsPath) è una proprietà riservata fornita dalla proprietà MSBuildToolsPath specificata nel file di configurazione.Questa proprietà sostituisce $(MSBuildBinPath).Tuttavia,$(MSBuildBinPath) passa avanti per compatibilità.

È possibile anche aggiungere al file di configurazione proprietà personalizzate, proprietà specifiche per ToolsVersion, utilizzando la stessa sintassi che si utilizza per aggiungere la proprietà MSBuildToolsPath.Per rendere disponibili le proprietà personalizzate del file di progetto, utilizzare lo stesso nome del valore specificato nel file di configurazione.

Vedere anche

Concetti

Set di strumenti di MSBuild (ToolsVersion)