Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den stabila versionen MTP v2 är nu tillgänglig. Den här migreringsguiden utforskar vad som har ändrats i MTP v2 och hur du kan migrera till den här versionen.
Icke-bakåtkompatibla källändringar
Det här är icke-bakåtkompatibla ändringar som kan orsaka byggfel efter migreringen.
Borttagna målramverk som inte stöds
Stöd för målramverk från .NET Core 3.1 till .NET 7 tas bort. Den lägsta .NET-versionen som stöds är .NET 8. Den här ändringen påverkar inte .NET Framework. .NET Framework 4.6.2 är fortfarande det lägsta .NET Framework-målet som stöds.
Föråldrade typer har tagits bort
Följande typer har markerats som föråldrade i MTP v1. I MTP v2 tas de bort helt:
-
ITestApplicationLifecycleCallbacks: användITestHostApplicationLifetimei stället. -
TestNodeFileArtifact: användFileArtifactPropertyi stället. -
KeyValuePairStringProperty: användTestMetadataPropertyi stället. -
TestSessionContext.Client: användIClientInfoi stället.
Den här icke-bakåtkompatibla ändringen påverkar inte vanliga användare av testramverk. Det påverkar bara testramverksförfattare och tilläggsförfattare.
Ändringar i API-signatur
- En
CancellationTokenparameter har lagts till i IOutputDevice.DisplayAsync(IOutputDeviceDataProducer, IOutputDeviceData). - Metoder i ITestSessionLifetimeHandler gränssnittet ändras till att ha en
ITestSessionContextparameter i stället för både SessionUid och CancellationToken parametrar. -
IDataConsumerflyttas frånMicrosoft.Testing.Platform.Extensions.TestHostnamnområdet tillMicrosoft.Testing.Platform.Extensions.
Den här icke-bakåtkompatibla ändringen påverkar inte vanliga användare av testramverk. Det påverkar bara testramverksförfattare och tilläggsförfattare.
Beteendebrytande ändringar
Det här är brytningsändringar som kan påverka beteendet under körning.
Kompatibilitet med VSTest-baserad dotnet test
Kommandot dotnet test har två implementeringar:
- VSTest-baserad implementering: det här var den enda implementeringen upp till .NET 9 SDK.
- MTP-baserad implementering: detta lades till med början i .NET 10 SDK.
Att köra MTP-testprojekt med .NET 10 SDK kräver nu att du väljer MTP-baserade dotnet test och kan inte längre köras med implementeringen baserad på VSTest, som tidigare aktiverades genom MSBuild-egenskapen TestingPlatformDotnetTestSupport i MTP v1.
Om du vill välja den MTP-baserade implementeringen skapar du global.json i lagringsplatsen eller lösningsroten (eller uppdaterar befintliga global.json om du redan har en) så att testkörare har angetts som Microsoft.Testing.Platform, som du ser i följande exempel:
{
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
Om du försöker köra VSTest-baserat dotnet test med MTP v2 uppstår följande fel:
Testning med VSTest-mål stöds inte längre av MTP på .NET 10 SDK och senare. Om du använder dotnet-test bör du anmäla dig till den nya dotnet-testupplevelsen. För mer information, se https://aka.ms/dotnet-test-mtp-error
Byt namn på kommandoradsalternativ
- Kommandoradsalternativet
--diagnostic-output-fileprefixhar bytt namn till--diagnostic-file-prefix. - Kommandoradsalternativet
--diagnostic-filelogger-synchronouswritehar bytt namn till--diagnostic-synchronous-write.