Mac için Visual Studio'da birden çok hedef çerçeveye sahip projeler

Önemli

Mac için Visual Studio, Microsoft'un Modern Yaşam Döngüsü İlkesi uyarınca 31 Ağustos 2024'te kullanımdan kaldırılıyor. Mac için Visual Studio ile çalışmaya devam edebilirsiniz ancak Mac'te geliştiriciler için vs Code için yeni C# Dev Kit uzantısının önizleme sürümü gibi birkaç seçenek daha vardır.

Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.

Mac için Visual Studio'da, bir Xamarin veya .NET Core projesini.NET Framework'ün çeşitli sürümlerinden birinde ve çeşitli sistem platformlarından herhangi birinde çalışacak şekilde yapılandırabilirsiniz. Örneğin, bir projeyi hem .NET Framework 4.6 hem de .NET Core 3.1 üzerinde çalışacak şekilde hedefleyebilirsiniz.

Hedef çerçeveler hakkında daha fazla bilgi için bkz . Hedef çerçeveler.

Dekont

Bu konu Mac için Visual Studio için geçerlidir. Windows üzerinde Visual Studio için bkz . Çerçeve hedeflemeye genel bakış.

Birden çok çerçeveyi hedefleme

Hedef çerçeveler proje dosyanızda belirtilir. Bu çerçeveleri projenize sağ tıklayıp Araçlar > Dosya Düzenle komutunu seçerek düzenleyebilirsiniz. Tek bir hedef çerçeve belirtildiğinde TargetFramework öğesini kullanın. Aşağıdaki konsol uygulaması proje dosyasında .NET Core 3.0'ı hedefleme gösterilmektedir:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

</Project>

Birden çok hedef çerçeve ile çoğul TargetFrameworks öğesini kullanın:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netstandard1.4;net40;net45</TargetFrameworks>
  </PropertyGroup>

Birden çok çerçeveyi hedefleme hakkında daha fazla bilgi edinin.

Çok hedefli bir projede kodla çalışma

Birden çok hedef çerçeveye sahip bir projede C# dosyasını düzenlerken, düzenleyici deneyiminize yol göstermek için hangi hedef çerçeveyi kullanmak istediğinizi belirtebilirsiniz (örneğin, bu çerçeve tarafından desteklenmeyen bir API kullanıyorsanız uyarılar göstermek). Düzenleyici penceresinin sol üst köşesindeki Hedef Çerçeve seçicisini kullanarak hedef çerçeveyi değiştirebilirsiniz.

Using the target framework selector to change the target framework, located at the top of the editor window

Bazen uygulamanızın hedeflediğiniz platforma bağlı olarak farklı API'leri çağırmanız gerekir. Bunu yapmak için, belirli bir platform için kod derlemek üzere koşullu kod yazabilirsiniz:

public class MyClass
{
    static void Main()
    {
#if NET40
        Console.WriteLine("Target framework: .NET Framework 4.0");
#elif NET45  
        Console.WriteLine("Target framework: .NET Framework 4.5");
#else
        Console.WriteLine("Target framework: .NET Standard 1.4");
#endif
    }
}

Kod yazarken IntelliSense otomatik tamamlama önerilerinde uyarılarla karşılaşırsınız ve uygulamanızın desteklediği hedef çerçevelerden herhangi biri için belirli API'lerin eksik olup olmadığını size bildirir.

A warning message shown in IntelliSense, an API will not work for a specified target framework. Example text: namespace System.Buffers, SharedUtils (netstandard2.0) - Not Available. You can use the navigation bar to switch context.

Ayrıca bkz.