Projelere ve çözümlere giriş

Bu giriş makalesinde, Visual Studio'da bir çözüm ve proje oluşturmanın ne anlama geldiğini inceler. Çözüm, sınıf kitaplığı projesi ve buna karşılık gelen test projesi gibi bir veya daha fazla ilgili kod projesini düzenlemeye yönelik bir kapsayıcıdır.

Proje kavramını anlamaya yönelik bir eğitim alıştırması olarak sıfırdan bir çözüm ve proje oluşturacaksınız. Normalde yeni projeler oluşturmak için Visual Studio proje şablonlarını kullanırsınız. Ayrıca projenin özelliklerine ve içerebileceği dosyalardan bazılarına göz atacak ve bir projeden diğerine başvuru oluşturacaksınız.

Not

Visual Studio'da uygulama geliştirmek için çözüm ve proje gerekmez. Yalnızca kod içeren bir klasör açabilir ve kodlamaya, oluşturmaya ve hata ayıklamaya başlayabilirsiniz. Örneğin, kopyalanmış bir GitHub deposu Visual Studio projelerini ve çözümlerini içermeyebilir. Daha fazla bilgi için bkz . Visual Studio'da proje veya çözüm olmadan kod geliştirme.

Visual Studio 2019'u henüz yüklemediyseniz, ücretsiz yüklemek için Visual Studio indirmeleri sayfasına gidin.

Visual Studio'yu henüz yüklemediyseniz Visual Studio indirmeleri sayfasına giderek ücretsiz yükleyin.

Çözümler ve projeler

Visual Studio'da çözüm bir "yanıt" değildir. Çözüm, Visual Studio'da bir veya daha fazla ilgili proje düzenlemek için kullanılan bir kapsayıcıdır. Bir çözümü açtığınızda, Visual Studio çözümün içerdiği tüm projeleri otomatik olarak yükler.

Çözüm oluşturma

Boş bir çözüm oluşturarak keşfetmeye başlayın. Visual Studio'yu tanıydıktan sonra büyük olasılıkla boş çözümler oluşturmazsınız. Yeni bir proje oluşturduğunuzda, bir çözüm zaten açık değilse Visual Studio proje için otomatik olarak bir çözüm oluşturur.

  1. Visual Studio'yu açın.

  2. Başlangıç penceresinde Yeni proje oluştur'u seçin.

  3. Yeni proje oluştur sayfasında, arama kutusuna boş çözüm girin, Boş Çözüm şablonunu seçin ve ardından İleri'yi seçin.

    Screenshot that shows a Blank Solution template selected in Visual Studio 2019.

    İpucu

    Yüklü birkaç iş yükünüz varsa, Boş Çözüm şablonu arama sonuçları listenizin en üstünde görünmeyebilir. Listenin arama bölümüne göre Diğer sonuçlar'a kaydırmayı deneyin. Orada görünmelidir.

  4. Çözümü QuickSolution olarak adlandırın ve oluştur'u seçin.

    Visual Studio penceresinin sağ tarafındaki Çözüm Gezgini bir çözüm görüntülenir. Projelerinizin içeriğine göz atmak için büyük olasılıkla Çözüm Gezgini sık kullanırsınız.

  1. Visual Studio'yu açın ve başlangıç penceresinde Yeni proje oluştur'u seçin.

  2. Yeni proje oluştur sayfasında, arama kutusuna boş çözüm yazın, Boş Çözüm şablonunu seçin ve ardından İleri'yi seçin.

    Screenshot that shows a Blank Solution template selected in Visual Studio.

    İpucu

    Yüklü birkaç iş yükünüz varsa, Boş Çözüm şablonu arama sonuçları listenizin en üstünde görünmeyebilir. Şablonu bulmak için aramanıza göre Diğer sonuçlar arasında kaydırmayı deneyin.

  3. Yeni projenizi yapılandırın sayfasında çözümü QuickSolution olarak adlandırın ve oluştur'u seçin.

    QuickSolution çözümü, Visual Studio penceresinin sağ tarafındaki Çözüm Gezgini görüntülenir. Çözüm Gezgini sık sık kullanarak projelerinizin içeriğine göz atacaksınız.

Proje ekleme

Şimdi çözüme ilk projenizi ekleyin. Boş bir projeyle başlayın ve ihtiyacınız olan öğeleri ekleyin.

  1. Çözüm Gezgini 'QuickSolution' Çözümünün sağ tıklama veya bağlam menüsünden Yeni Proje Ekle'yi> seçin.

    Yeni proje ekle yazan bir iletişim kutusu açılır.

  2. Üstteki arama kutusuna boş metni girin ve Dil'in altında C# öğesini seçin.

  3. Boş Proje (.NET Framework) şablonunu ve ardından İleri'yi seçin.

  4. Projeyi QuickDate olarak adlandırın ve Oluştur'u seçin.

    Çözüm Gezgini'da çözümün altında QuickDate adlı bir proje görüntülenir. Şu anda App.config adlı tek bir dosya içerir.

    Not

    Boş Proje (.NET Framework) şablonunu görmüyorsanız .NET masaüstü geliştirme Visual Studio iş yükünü yüklemeniz gerekir. Visual Studio, yalnızca yaptığınız geliştirme türü için ihtiyacınız olan bileşenleri yüklemek için iş yükü tabanlı yükleme kullanır.

    Yeni bir proje oluştururken yeni bir iş yükü yüklemenin kolay bir yolu, aradığınızı bulamıyor musunuz? metninin altındaki Daha fazla araç ve özellik yükle bağlantısını seçmektir. Visual Studio Yükleyicisi başlatıldıktan sonra .NET masaüstü geliştirme iş yükünü ve ardından Değiştir düğmesini seçin.

    Screenshot that shows the Open Visual Studio Installer link.

  1. Çözüm Gezgini'da Çözüm 'QuickSolution' öğesine sağ tıklayın ve bağlam menüsünden Yeni Proje Ekle'yi>seçin.

  2. Yeni proje ekle sayfasında, üstteki arama kutusuna boş yazın ve Tüm diller'in altında C# öğesini seçin.

  3. C# Boş Proje (.NET Framework) şablonunu ve ardından İleri'yi seçin.

    Not

    Visual Studio, yalnızca yaptığınız geliştirme türü için ihtiyacınız olan bileşenleri yüklemek için iş yükü tabanlı yükleme kullanır. Boş Proje (.NET Framework) şablonunu görmüyorsanız .NET masaüstü geliştirme Visual Studio iş yükünü yüklemeniz gerekir.

    Yeni bir proje oluştururken yeni bir iş yükü yüklemenin kolay bir yolu, aradığınızı bulamıyor musunuz? metninin altındaki Daha fazla araç ve özellik yükle bağlantısını seçmektir. Visual Studio Yükleyicisi .NET masaüstü geliştirme iş yükünü ve ardından Değiştir'i seçin.

    Screenshot that shows the Open Visual Studio Installer link.

  4. Yeni projenizi yapılandırın sayfasında projeyi QuickDate olarak adlandırın ve oluştur'u seçin.

    QuickDate projesi, Çözüm Gezgini'da çözümün altında görünür. Proje bir References düğümü ve App.config adlı tek bir dosya içerir.

Projeye öğe ekleme

Boş projenize bir kod dosyası ekleyin.

  1. Çözüm Gezgini'daki QuickDate projesinin sağ tıklama veya bağlam menüsünden Yeni Öğe Ekle'yi> seçin.

    Yeni Öğe Ekle iletişim kutusu açılır. İletişim kutusu sıkıştırılmış görünümde açılırsa Tüm Şablonları Göster'i seçin.

  2. Visual C# Öğeleri'ne genişletip Kod'a tıklayın. Orta bölmede Sınıf öğesi şablonunu seçin. Ad'ın altına Takvim yazın ve Ekle'yi seçin.

    Visual Studio projeye Calendar.cs adlı bir dosya ekler. Sonundaki .cs, C# kod dosyalarının dosya uzantısıdır. Calendar.cs dosyası Çözüm Gezgini görsel proje hiyerarşisinde görünür ve dosya düzenleyicide açılır.

  3. Calendar.cs dosyasının içeriğini aşağıdaki kodla değiştirin:

    using System;
    
    namespace QuickDate
    {
        internal class Calendar
        {
            static void Main(string[] args)
            {
                DateTime now = GetCurrentDate();
                Console.WriteLine($"Today's date is {now}");
                Console.ReadLine();
            }
    
            internal static DateTime GetCurrentDate()
            {
                return DateTime.Now.Date;
            }
        }
    }
    

    Kodun yaptığı her şeyi henüz anlamanız gerekmez. Ctrl+F5 tuşlarına basarak uygulamayı çalıştırın ve uygulamanın bugünün tarihini konsola veya standart çıkış penceresine yazdırdığını görün. Ardından konsol penceresini kapatın.

İkinci proje ekleme

Çözümler genellikle birden fazla proje içerir ve bu projeler genellikle birbirine başvurur. Çözümdeki bazı projeler sınıf kitaplıkları, bazıları yürütülebilir uygulamalar ve bazıları birim testi projeleri veya web siteleri olabilir.

Çözümünüze birim testi projesi eklemek için, projeye başka bir kod dosyası eklemeniz gerekmeyecek şekilde bir proje şablonundan başlayın.

  1. Çözüm Gezgini 'QuickSolution' Çözümünün sağ tıklama veya bağlam menüsünden Yeni Proje Ekle'yi> seçin.

  2. Yeni proje ekle iletişim kutusunda, üstteki arama kutusuna metin birimi testini girin ve Dil'in altında C# öğesini seçin.

  3. .NET Core için Birim Testi Projesi proje şablonunu ve ardından İleri'yi seçin.

    Not

    Visual Studio 2019 sürüm 16.9'dan başlayarak, MSTest proje şablonu adı MSTest Birim Test Projesi (.NET Core) yerine Birim Test Projesi olarak değiştirildi. Bu güncelleştirmede proje oluşturma işleminin birkaç adımı değiştirildi.

  4. Projeye QuickTest adını verin ve İleri'yi seçin.

  5. Önerilen hedef çerçeveyi (.NET Core 3.1) veya .NET 5'i seçin ve ardından Oluştur'u seçin.

    Çözüm Gezgini ikinci bir proje eklenir ve düzenleyicide UnitTest1.cs adlı bir dosya açılır.

    Screenshot that shows Solution Explorer with two projects.

  1. Çözüm Gezgini 'QuickSolution' Çözümünün sağ tıklama veya bağlam menüsünden Yeni Proje Ekle'yi> seçin.

  2. Yeni proje ekle iletişim kutusunda, üstteki arama kutusuna birim testi yazın ve tüm diller'in altında C# öğesini seçin.

  3. C# Birim Testi Projesi (.NET Framework) proje şablonunu ve ardından İleri'yi seçin.

  4. Yeni projenizi yapılandırın sayfasında projeyi QuickTest olarak adlandırın ve oluştur'u seçin.

    Visual Studio QuickTest projesini Çözüm Gezgini ekler ve UnitTest1.cs dosyası düzenleyicide açılır.

    Screenshot that shows Solution Explorer with two projects.

Proje başvurusu ekleme

QuickDate projesinde yönteminizi test etmek için yeni birim testi projesini kullanacaksınız, bu nedenle QuickTest projesine QuickDatebaşvurusu eklemeniz gerekir. Başvurunun eklenmesi, iki proje arasında bir derleme bağımlılığı oluşturur; yani çözümü oluşturduğunuzda QuickDate, QuickTest'in öncesinde derleme yapar.

  1. QuickTest projesinde Bağımlılıklar düğümünü seçin ve sağ tıklama veya bağlam menüsünde Proje Başvurusu Ekle'yi seçin.

    Başvuru Yöneticisi iletişim kutusu açılır.

  2. Sol bölmede Projeler'i genişletin ve çözüm'e tıklayın. Orta bölmede, HızlıTarih'in yanındaki onay kutusunu seçin ve ardından Tamam'ı seçin.

    QuickDate projesine bir başvuru eklenir.

    A screenshot of Solution Explorer showing a project reference in Visual Studio 2019.

  1. Çözüm Gezgini'da QuickTest projesinin Başvurular düğümüne sağ tıklayın ve bağlam menüsünden Başvuru Ekle'yi seçin.

  2. Başvuru Yöneticisi iletişim kutusunda Projeler'i seçin. Orta bölmede, HızlıTarih'in yanındaki onay kutusunu seçin ve ardından Tamam'ı seçin.

    Çözüm Gezgini'da QuickTest projesinin altında QuickDate projesine bir başvuru görüntülenir.

    A screenshot of Solution Explorer showing a project reference.

Test kodu ekleme

  1. Şimdi test kodunu C# test kodu dosyasına ekleyin. UnitTest1.cs içeriğini aşağıdaki kodla değiştirin:

    using System;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    namespace QuickTest
    {
        [TestClass]
        public class UnitTest1
        {
            [TestMethod]
            public void TestGetCurrentDate()
            {
                Assert.AreEqual(DateTime.Now.Date, QuickDate.Calendar.GetCurrentDate());
            }
        }
    }
    

    Kodun bir bölümünün altında kırmızı dalgalı bir dalgalı çizgi görünür. Test projesini QuickDate projesine arkadaş derlemesiyaparak bu hatayı düzeltebilirsiniz.

  2. Calendar.cs dosyasında, test projesindeki hatayı çözmek için dosyanın en üstüne aşağıdaki using deyimini ve InternalsVisibleToAttribute özniteliğini ekleyin.

    using System.Runtime.CompilerServices;
    
    [assembly: InternalsVisibleTo("QuickTest")]
    

    Calendar.cs kodu şu ekran görüntüsüne benzer olmalıdır:

    Screenshot that shows C Sharp code.

    Screenshot that shows C Sharp code.

Birim testini çalıştırma

Birim testinizin çalışıp çalışmadığını denetlemek için menü çubuğundan Test>Tüm Testleri Çalıştır'ı seçin. Test Gezgini penceresi açılır ve TestGetCurrentDate testinin geçtiğini görmeniz gerekir.

Screenshot that shows Test Explorer with a passed test.

Screenshot that shows Test Explorer with a passed test.

İpucu

Menü çubuğundan Test Test Gezgini'ni seçerek De Test>Gezgini'ni açabilirsiniz.

Proje özellikleri

Calendar.cs dosyasında özniteliğini içeren InternalsVisibleToAttribute satır, QuickTest projesinin derleme adına veya dosya adına başvurur. Derleme adı her zaman proje adıyla aynı olmayabilir. Bir projenin derleme adını bulmak için proje özelliklerini kullanın. Özellik sayfaları proje için çeşitli ayarlar içerir.

  1. Çözüm Gezgini QuickTest projesine sağ tıklayıp Özellikler'i seçin veya projeyi seçip Alt Enter tuşuna+ basın.

    Projenin özellik sayfaları Uygulama sekmesinde açılır. QuickTest projesinin Derleme adı gerçekten QuickTest'tir.

    İsterseniz, adı burada değiştirebilirsiniz. Test projesini oluşturduğunuzda, sonuçta elde edilen ikili dosyanın adı QuickTest.dll'den NewName.dll'ye ><dönüşür.

    Screenshot that shows project properties.

    Screenshot that shows project properties.

  2. Projenin özellik sayfalarının Derleme ve Hata Ayıklama gibi diğer sekmelerinden bazılarını keşfedin. Bu sekmeler farklı proje türleri için farklıdır.

Ayrıca bkz.