Aracılığıyla paylaş


Projenizi hem .NET Framework hem de .NET'i destekleyecek şekilde düzenleyin

Hem .NET Framework hem de .NET için yan yana derlenen bir çözüm oluşturabilirsiniz. Bu makalede, bu hedefe ulaşmanıza yardımcı olacak çeşitli proje-kuruluş seçenekleri yer alır. .NET ile proje düzeninizi ayarlamaya karar verirken göz önünde bulundurmanız gereken bazı tipik senaryolar aşağıda verilmiştir. Liste istediğiniz her şeyi kapsamayabilir.

  • Mevcut projeleri ve .NET projelerini tek bir projede birleştirme

    Avantajlar:

    • Her birinin farklı bir .NET Framework sürümünü veya platformını hedef alan birden çok proje yerine tek bir proje derleyerek derleme işleminizi basitleştirir.
    • Tek bir proje dosyasını yönetmeniz gerektiğinden, çok hedefli projeler için kaynak dosya yönetimini basitleştirir. Kaynak dosyaları eklerken veya kaldırırken, alternatifler bu dosyaları diğer projelerinizle el ile eşitlemenizi gerektirir.
    • Tüketim için kolayca bir NuGet paketi oluşturun.
    • Derleyici yönergelerini kullanarak belirli bir .NET Framework sürümü için kod yazmanızı sağlar.

    Dezavantaj

    • Geliştiricilerin mevcut projeleri açmak için Visual Studio 2019 veya sonraki bir sürümü kullanmasını gerektirir. Visual Studio'nun eski sürümlerini desteklemek için proje dosyalarınızı farklı klasörlerde tutmak daha iyi bir seçenektir.
  • Tüm projeleri ayrı tutma

    Avantajlar:

    • Visual Studio 2019 veya sonraki bir sürümü olmayan geliştiriciler ve katkıda bulunanlar için mevcut projelerde geliştirmeyi destekler.
    • Bu projelerde kod değişim sıklığı gerekmediğinden mevcut projelerde yeni hatalar oluşturma olasılığını düşürür.

Bu örnek GitHub deposunu düşünün. Aşağıdaki şekilde, bu deponun nasıl yerleştirıldığı gösterilmektedir:

Mevcut proje yapısı diyagramı

Aşağıdaki bölümlerde örnek depoya göre .NET desteği eklemenin çeşitli yolları açıklanmaktadır.

Var olan projeleri çok hedefli bir .NET projesiyle değiştirme

Depoyu yeniden düzenleyerek mevcut *.csproj dosyalarının kaldırılmasını ve birden çok çerçeveyi hedefleyen tek bir *.csproj dosyası oluşturulmasını sağlayın. Bu harika bir seçenektir çünkü tek bir proje farklı çerçeveler için derlenebilir. Ayrıca hedeflenen çerçeve başına farklı derleme seçeneklerini ve bağımlılıklarını işleme gücüne sahiptir.

birden çok çerçeve diyagramını hedefleyen proje

Örneğin kod, bkz. GitHub.

Dikkat edilmesi gereken değişiklikler şunlardır:

  • packages.config ve *.csproj'un yeni bir .NET *.csproj ile değiştirilmesi. NuGet paketleri <PackageReference> ItemGroup ile belirtilir.

Mevcut projeleri koruma ve .NET projesi oluşturma

Eski çerçeveleri hedefleyen mevcut projeler varsa, bu projeleri dokunulmadan bırakmak ve gelecekteki çerçeveleri hedeflemek için bir .NET projesi kullanmak isteyebilirsiniz.

Farklı bir klasör diyagramında var olan projelere sahip .NET projesi

Örneğin kod, bkz. GitHub.

.NET ve mevcut projeler ayrı klasörlerde tutulur. Projeleri ayrı klasörlerde tutmak, Sizi Visual Studio 2019 veya sonraki sürümlerine sahip olmaya zorlamaktan kaçınıyor. Yalnızca eski projeleri açan ayrı bir çözüm oluşturabilirsiniz.

Ayrıca bakınız