Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kararlı MTP v2 sürümü artık kullanılabilir. Bu geçiş kılavuzunda MTP v2'de nelerin değiştiği ve bu sürüme nasıl geçiş yapabileceğiniz açıklanmaktadır.
Kaynakta kopmalara neden olan değişiklikler
Geçiş sonrasında derleme hatalarına neden olabilecek önemli değişikliklerdir.
Desteklenmeyen hedef çerçeveler bırakıldı
.NET Core 3.1'den .NET 7'ye hedef çerçeve desteği bırakıldı. Desteklenen en düşük .NET sürümü .NET 8'dir. Bu değişiklik .NET Framework'i etkilemez. .NET Framework 4.6.2 desteklenen en düşük .NET Framework hedefi olmaya devam eder.
Eski türler kaldırıldı
Aşağıdaki türler MTP v1'de kullanım dışı olarak işaretlendi. MTP v2'de bunlar tamamen kaldırılır:
-
ITestApplicationLifecycleCallbacks: yerine kullanınITestHostApplicationLifetime. -
TestNodeFileArtifact: yerine kullanınFileArtifactProperty. -
KeyValuePairStringProperty: yerine kullanınTestMetadataProperty. -
TestSessionContext.Client: yerine kullanınIClientInfo.
Bu köklü değişiklik, test altyapılarının tipik kullanıcılarını etkilemez. Yalnızca test çerçevesi yazarlarını ve uzantı yazarlarını etkiler.
API imzası değişiklikleri
-
CancellationTokenöğesine bir IOutputDevice.DisplayAsync(IOutputDeviceDataProducer, IOutputDeviceData) parametre eklendi. - Arabirimdeki ITestSessionLifetimeHandler yöntemleri, hem
ITestSessionContexthem de SessionUid parametreleri yerine bir CancellationToken parametresine sahip olacak şekilde değiştirilir. -
IDataConsumerMicrosoft.Testing.Platform.Extensions.TestHostad alanındanMicrosoft.Testing.Platform.Extensionsad alanına taşındı.
Bu köklü değişiklik, test altyapılarının tipik kullanıcılarını etkilemez. Yalnızca test çerçevesi yazarlarını ve uzantı yazarlarını etkiler.
Davranış değiştiren değişiklikler
Bunlar çalışma zamanı sırasında davranışı etkileyebilecek köklü değişikliklerdir.
VSTest tabanlı uyumluluk dotnet test
Komutun dotnet test iki uygulaması vardır:
- VSTest tabanlı uygulama: .NET 9 SDK'ya kadar olan tek uygulama budur.
- MTP tabanlı uygulama: Bu, .NET 10 SDK'dan başlayarak eklenmiştir.
.NET 10 SDK ile MTP test projelerinin çalıştırılması için artık MTP tabanlı dotnet test özelliğine katılmak gerekiyor ve bu projeler, önceden MTP v1'de TestingPlatformDotnetTestSupport MSBuild özelliği ile etkinleştirilen VSTest tabanlı uygulama ile artık çalıştırılamaz.
MTP tabanlı uygulamayı kabul etmek için, aşağıdaki örnekte gösterildiği gibi test çalıştırıcısının Microsoft.Testing.Platform olarak ayarlanması için depoda veya çözüm kökünde global.json oluşturun (veya zaten varsa mevcut global.json güncelleştirin):
{
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
VSTest tabanlı dotnet test MTP v2 ile çalıştırıldığında aşağıdaki hata oluşur:
VSTest hedefiyle test etme artık .NET 10 SDK ve sonraki sürümlerde MTP tarafından desteklenmiyor. dotnet testi kullanıyorsanız yeni dotnet test deneyimini kabul etmeniz gerekir. Daha fazla bilgi için bkz. https://aka.ms/dotnet-test-mtp-error
Komut satırı seçeneklerini yeniden adlandırma
-
--diagnostic-output-fileprefixKomut satırı seçeneği olarak--diagnostic-file-prefixyeniden adlandırıldı. -
--diagnostic-filelogger-synchronouswriteKomut satırı seçeneği olarak--diagnostic-synchronous-writeyeniden adlandırıldı.