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.
Scenario
'MyProject' projesi, yalnızca .NET SDK 10.0.300 veya daha yeni bir sürüm olduğunda varsayılan bağımlılık çözümleyicisinde desteklenen yinelenen çerçeveleri geri yüklemeye çalışır. Bu özelliği kullanmak için .NET SDK'nızı yükseltin veya RestoreUseLegacyDependencyResolver'ı kaldırın.
Sorun
Proje dosyanızda aynı NuGet çerçevesine çözümlenebilen birden çok TargetFrameworks girdi var.
Bu senaryo, farklı TargetFramework özelliklerinin aynı temel çerçeveye eşlendiği çerçeve diğer adı olarak bilinir.
Örneğin, aşağıdaki gibi bir proje dosyası, her ikisinin de aynı net9.0 NuGet çerçevesine çözümlenebilen iki hedef çerçeveyi tanımlar:
<PropertyGroup>
<TargetFrameworks>net9.0-custom1;net9.0-custom2</TargetFrameworks>
</PropertyGroup>
Çerçeve diğer adı oluşturma yalnızca .NET SDK 10.0.300 veya üzeri (SdkAnalysisLevel veya üzeri 10.0.300) gerektiren varsayılan bağımlılık çözümleyicisinde desteklenir.
Eski bağımlılık çözümleyicisi etkin olduğunda (SDK sürümü eski olduğundan veya RestoreUseLegacyDependencyResolver ayarlandığından), varlık dosya biçimi yinelenen çerçeveleri desteklemez ve NuGet bu hatayı oluşturur.
Çözüm
Bu hatayı çözmek için aşağıdaki yaklaşımlardan birini kullanın:
- Framework diğer adını destekleyen varsayılan bağımlılık çözümleyicisini kullanan SDK 10.0.300 veya sonraki .NET sürümüne yükseltin.
-
RestoreUseLegacyDependencyResolverÖzelliğini proje dosyanızdan veyaDirectory.Build.propsayarlanmışsa kaldırın. Bu, NuGet'in varsayılan bağımlılık çözümleyicisini kullanmasına olanak tanır. - Her hedef çerçevenin benzersiz bir NuGet çerçevesine çözümlenmesi için özelliğinizden
TargetFrameworks.