Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Impostazioni di compatibilità del profiler

Per impostazione predefinita, in .NET Framework 4, Common Language Runtime (CLR) carica e utilizza solo profiler compilati per .NET Framework 4. CLR non carica né esegue profiler compilati per le versioni di .NET Framework 2.0, 3.0 e 3.5, a meno che non sia specificato in modo esplicito. (In questo argomento, il termine "profiler versione 2.0" si riferisce ai profiler compilati per le versioni di .NET Framework 2.0, 3.0 e 3.5).

Gli utenti del profiler devono specificare in modo esplicito l'utilizzo dei profiler versione 2.0 tramite la variabile di ambiente COMPLUS_ProfAPI_ProfilerCompatibilitySetting. I profiler versione 2.0 utilizzati in .NET Framework 4 si comportano come descritto di seguito.

  • Le API di profilatura di .NET Framework versione 2.0 continuano a funzionare in .NET Framework 4 in base alla documentazione della versione 2.0.

  • I comportamenti dell'API di profilatura e di CLR versione 2.0 non documentati non sono garantiti in .NET Framework 4. Il funzionamento di profiler versione 2.0 che dispongono di dipendenze su un comportamento non documentato non è garantito in .NET Framework 4. Si noti che questa impostazione di compatibilità non fornisce compatibilità con versioni precedenti con il comportamento di CLR 2.0.

Prima di impostare la variabile di ambiente COMPLUS_ProfAPI_ProfilerCompatibilitySetting, è necessario impostare la variabile di ambiente COR_PROFILER o COR_ENABLE_PROFILING. Per istruzioni, vedere Configurazione di un ambiente di profilatura.

È possibile impostare la variabile di ambiente COMPLUS_ProfAPI_ProfilerCompatibilitySetting su uno dei tre valori indicati nella tabella seguente.

Nota Nota

In .NET Framework versione 3.5 e nelle versioni precedenti, CLR non supporta la variabile COMPLUS_ProfAPI_ProfilerCompatibilitySetting. Se sono state impostate le variabili di ambiente COR_PROFILER o COR_ENABLE_PROFILING, viene sempre effettuato un tentativo di caricare un profiler.

Impostazione

Comportamento di CLR

EnableV2Profiler

Carica e attiva i profiler versione 2.0.

DisableV2Profiler

Disabilita i profiler versione 2.0, ma non li scarica. I profiler per .NET Framework 4 non sono interessati dall'operazione. Rappresenta l'impostazione predefinita.

PreventLoad

Non carica alcun profiler, indipendentemente dalla versione di .NET Framework per cui il profiler è stato scritto.

Il comportamento dettagliato è il seguente:

  • EnableV2Profiler

    Il CLR di .NET Framework 4 carica e utilizza il profiler disponibile, indipendentemente dalla versione di .NET Framework per cui il profiler è stato scritto. Nella profilatura side-by-side in-process, se il CLR di .NET Framework versione 2.0 carica un profiler prima nel processo, il CLR di .NET Framework 4 non ricarica tale profiler versione 2.0.

  • DisableV2Profiler (impostazione predefinita)

    Il CLR di .NET Framework 4 carica il profiler e ne determina la versione chiamando il metodo IUnknown::QueryInterface del profiler per individuare l'interfaccia ICorProfilerCallback3

    • Se il profiler implementa ICorProfilerCallback3, è un profiler di .NET Framework versione 4 e CLR continua a utilizzarlo.

    • Se il profiler non implementa ICorProfilerCallback3, si tratta di un profiler versione 2.0. In questo caso, CLR rilascia l'interfaccia del profiler e non attiva il profiler. CLR non scarica tuttavia la DLL del profiler, pertanto può garantire la compatibilità con il CLR di .NET Framework versione 2.0, che non scarica le DLL del profiler. (Si noti che i profiler di .NET Framework 4 vengono scaricati durante le operazioni di disconnessione o chiusura, pertanto se si desidera rivedere il profiler per .NET Framework 4, sarà necessario modificare questo comportamento).

  • PreventLoad

    Il CLR di .NET Framework 4 ignora completamente il profiler. Questa impostazione è utile per alcuni scenari side-by-side in-process. Per ulteriori informazioni, vedere Profilatura side-by-side in-process.

Ad esempio per indicare a CLR di caricare il profiler di .NET Framework 2.0, aprire una finestra del prompt dei comandi e digitare il comando seguente:

set COMPLUS_ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler
NotaNota

Questa opzione di compatibilità influisce solo sul percorso di avvio del profiler. Per connettere o caricare i profiler, il runtime chiama la funzione IUnknown::QueryInterface per l'interfaccia ICorProfilerCallback3. Se il profiler non implementa questa interfaccia, coma accade nei profiler versione 2.0, il runtime non carica il profiler e non registra una voce di errore di caricamento del profiler nel log eventi.

Mostra: