Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La versione stabile MTP v2 è ora disponibile. Questa guida alla migrazione illustra le modifiche apportate in MTP v2 e come eseguire la migrazione a questa versione.
Modifiche che interrompono la compatibilità del codice sorgente
Si tratta di modifiche che potrebbero causare errori di compilazione dopo la migrazione.
Sono stati eliminati i framework di destinazione non supportati
Il supporto per i framework di destinazione da .NET Core 3.1 a .NET 7 viene eliminato. La versione minima supportata di .NET è .NET 8. Questa modifica non influisce su .NET Framework. .NET Framework 4.6.2 continua a essere il target minimo supportato di .NET Framework.
Rimossi i tipi obsoleti
I tipi seguenti sono stati contrassegnati come obsoleti in MTP v1. In MTP v2 vengono rimossi completamente:
-
ITestApplicationLifecycleCallbacks: usareITestHostApplicationLifetimeinvece . -
TestNodeFileArtifact: usareFileArtifactPropertyinvece . -
KeyValuePairStringProperty: usareTestMetadataPropertyinvece . -
TestSessionContext.Client: usareIClientInfoinvece .
Questa modifica radicale non influisce sugli utenti tipici dei framework di test. Influisce solo sugli autori del framework di test e sugli autori di estensioni.
Modifiche alla firma API
- È stato aggiunto un
CancellationTokenparametro a IOutputDevice.DisplayAsync(IOutputDeviceDataProducer, IOutputDeviceData). - I metodi nell'interfaccia ITestSessionLifetimeHandler vengono modificati in modo da avere un parametro
ITestSessionContextanziché i parametri SessionUid e CancellationToken. -
IDataConsumerviene spostato dalloMicrosoft.Testing.Platform.Extensions.TestHostspazio dei nomi aMicrosoft.Testing.Platform.Extensions.
Questa modifica radicale non influisce sugli utenti tipici dei framework di test. Influisce solo sugli autori del framework di test e sugli autori di estensioni.
Modifiche che causano un'interruzione del comportamento
Si tratta di modifiche significative che potrebbero influire sul comportamento del sistema durante l'esecuzione.
Compatibilità basata su VSTest dotnet test
Il dotnet test comando ha due implementazioni:
- Implementazione basata su VSTest: questa era l'unica implementazione fino a .NET 9 SDK.
- Implementazione basata su MTP: aggiunta a partire da .NET 10 SDK.
L'esecuzione di progetti di test MTP con .NET 10 SDK richiede ora il consenso esplicito per l'uso basato su dotnet test MTP e non può più essere eseguita con l'implementazione basata su VSTest, abilitata in precedenza dalla TestingPlatformDotnetTestSupport proprietà MSBuild in MTP v1.
Per acconsentire esplicitamente all'implementazione basata su MTP, creare global.json nella radice del repository o della soluzione (o aggiornare l'global.json esistente se ne è già disponibile uno), per avere lo strumento di esecuzione di test impostato su Microsoft.Testing.Platform, come illustrato nell'esempio seguente:
{
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
Se si tenta di eseguire VSTest dotnet test con MTP v2, verrà generato l'errore seguente:
Il test con la destinazione VSTest non è più supportato da MTP in .NET 10 SDK e versioni successive. Se si usa il test dotnet, è necessario acconsentire esplicitamente alla nuova esperienza di test dotnet. Per altre informazioni, vedere https://aka.ms/dotnet-test-mtp-error
Rinominare le opzioni della riga di comando
- L'opzione
--diagnostic-output-fileprefixdella riga di comando è stata rinominata in--diagnostic-file-prefix. - L'opzione
--diagnostic-filelogger-synchronouswritedella riga di comando è stata rinominata in--diagnostic-synchronous-write.