Wprowadzenie do projektów i rozwiązań

W tym artykule wprowadzającym wyjaśniono, co to znaczy utworzyć rozwiązanie i projekt w programie Visual Studio. Rozwiązanie to kontener do organizowania co najmniej jednego powiązanego projektu kodu, takiego jak projekt biblioteki klas i odpowiedni projekt testowy.

Jako ćwiczenie edukacyjne umożliwiające zrozumienie koncepcji projektu utworzysz rozwiązanie i projekt od podstaw. Zazwyczaj do tworzenia nowych projektów należy używać szablonów projektów programu Visual Studio. Przyjrzysz się również właściwościom projektu i niektórym plikom, które może zawierać, i utworzysz odwołanie z jednego projektu do innego.

Uwaga

Tworzenie aplikacji w programie Visual Studio nie wymaga rozwiązań i projektów. Możesz po prostu otworzyć folder zawierający kod i rozpocząć kodowanie, kompilowanie i debugowanie. Na przykład sklonowane repozytorium GitHub może nie zawierać projektów i rozwiązań programu Visual Studio. Aby uzyskać więcej informacji, zobacz Tworzenie kodu w programie Visual Studio bez projektów lub rozwiązań.

Jeśli jeszcze nie zainstalowano programu Visual Studio 2019, przejdź do strony pobierania programu Visual Studio, aby zainstalować ją bezpłatnie.

Jeśli program Visual Studio nie został jeszcze zainstalowany, przejdź do strony pobierania programu Visual Studio, aby zainstalować ją bezpłatnie.

Rozwiązania i projekty

W programie Visual Studio rozwiązanie nie jest "odpowiedzią". Rozwiązanie to po prostu kontener używany przez program Visual Studio do organizowania co najmniej jednego powiązanego projektu. Po otwarciu rozwiązania program Visual Studio automatycznie ładuje wszystkie projekty, które zawiera rozwiązanie.

Tworzenie rozwiązania

Rozpocznij eksplorację, tworząc puste rozwiązanie. Po zapoznaniu się z programem Visual Studio prawdopodobnie nie będziesz często tworzyć pustych rozwiązań. Podczas tworzenia nowego projektu program Visual Studio automatycznie tworzy rozwiązanie dla projektu, chyba że rozwiązanie jest już otwarte.

  1. Otwórz program Visual Studio.

  2. W oknie uruchamiania wybierz pozycję Utwórz nowy projekt.

  3. Na stronie Tworzenie nowego projektu wprowadź puste rozwiązanie w polu wyszukiwania, wybierz szablon Puste rozwiązanie, a następnie wybierz pozycję Dalej.

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

    Napiwek

    Jeśli masz zainstalowane kilka obciążeń, szablon Puste rozwiązanie może nie pojawić się w górnej części listy wyników wyszukiwania. Spróbuj przewinąć do sekcji Inne wyniki na podstawie sekcji wyszukiwania na liście. Powinien się tam pojawić.

  4. Nadaj rozwiązaniu nazwę QuickSolution, a następnie wybierz pozycję Utwórz.

    Rozwiązanie jest wyświetlane w Eksplorator rozwiązań po prawej stronie okna programu Visual Studio. Prawdopodobnie będziesz używać Eksplorator rozwiązań często do przeglądania zawartości projektów.

  1. Otwórz program Visual Studio, a następnie w oknie uruchamiania wybierz pozycję Utwórz nowy projekt.

  2. Na stronie Tworzenie nowego projektu wpisz puste rozwiązanie w polu wyszukiwania, wybierz szablon Puste rozwiązanie, a następnie wybierz przycisk Dalej.

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

    Napiwek

    Jeśli masz zainstalowane kilka obciążeń, szablon Puste rozwiązanie może nie pojawić się w górnej części listy wyników wyszukiwania. Spróbuj przewinąć inne wyniki na podstawie wyszukiwania , aby znaleźć szablon.

  3. Na stronie Konfigurowanie nowego projektu nadaj rozwiązaniu nazwę QuickSolution, a następnie wybierz pozycję Utwórz.

    Rozwiązanie QuickSolution jest wyświetlane w Eksplorator rozwiązań po prawej stronie okna programu Visual Studio. Często używasz Eksplorator rozwiązań do przeglądania zawartości projektów.

Dodawanie projektu

Teraz dodaj swój pierwszy projekt do rozwiązania. Zacznij od pustego projektu i dodaj potrzebne elementy.

  1. W menu kontekstowym rozwiązania "QuickSolution" w Eksplorator rozwiązań kliknij prawym przyciskiem myszy lub w menu kontekstowym wybierz pozycję Dodaj>nowy projekt.

    Zostanie otwarte okno dialogowe z komunikatem Dodaj nowy projekt.

  2. Wprowadź pusty tekst w polu wyszukiwania u góry, a następnie wybierz pozycję C# w obszarze Język.

  3. Wybierz szablon Pusty projekt (.NET Framework), a następnie wybierz przycisk Dalej.

  4. Nadaj projektowi nazwę QuickDate, a następnie wybierz pozycję Utwórz.

    Pod rozwiązaniem w Eksplorator rozwiązań pojawi się projekt o nazwie QuickDate. Obecnie zawiera jeden plik o nazwie App.config.

    Uwaga

    Jeśli nie widzisz szablonu Pusty projekt (.NET Framework ), musisz zainstalować pakiet roboczy Programowanie aplikacji klasycznych .NET w programie Visual Studio. Program Visual Studio używa instalacji opartej na obciążeniach do instalowania tylko składników potrzebnych dla typu programowania.

    Łatwym sposobem zainstalowania nowego obciążenia podczas tworzenia nowego projektu jest wybranie linku Zainstaluj więcej narzędzi i funkcji w tekście z komunikatem Nie znajdujesz szukanego elementu? Po uruchomieniu Instalator programu Visual Studio wybierz obciążenie programowanie aplikacji klasycznych platformy .NET, a następnie przycisk Modyfikuj.

    Screenshot that shows the Open Visual Studio Installer link.

  1. Kliknij prawym przyciskiem myszy pozycję Rozwiązanie "QuickSolution" w Eksplorator rozwiązań, a następnie wybierz polecenie Dodaj>nowy projekt z menu kontekstowego.

  2. Na stronie Dodawanie nowego projektu wpisz puste w polu wyszukiwania u góry, a następnie wybierz pozycję C# w obszarze Wszystkie języki.

  3. Wybierz szablon Pusty projekt w języku C# (.NET Framework), a następnie wybierz przycisk Dalej.

    Uwaga

    Program Visual Studio używa instalacji opartej na obciążeniach do instalowania tylko składników potrzebnych dla typu programowania. Jeśli nie widzisz szablonu Pusty projekt (.NET Framework ), musisz zainstalować pakiet roboczy Programowanie aplikacji klasycznych .NET w programie Visual Studio.

    Łatwym sposobem zainstalowania nowego obciążenia podczas tworzenia nowego projektu jest wybranie linku Zainstaluj więcej narzędzi i funkcji w tekście z komunikatem Nie znajdujesz szukanego elementu? W Instalator programu Visual Studio wybierz obciążenie programowanie aplikacji klasycznych platformy .NET, a następnie wybierz pozycję Modyfikuj.

    Screenshot that shows the Open Visual Studio Installer link.

  4. Na stronie Konfigurowanie nowego projektu nadaj projektowi nazwę QuickDate, a następnie wybierz pozycję Utwórz.

    Projekt QuickDate zostanie wyświetlony w obszarze rozwiązania w Eksplorator rozwiązań. Projekt zawiera węzeł Odwołania i pojedynczy plik o nazwie App.config.

Dodawanie elementu do projektu

Dodaj plik kodu do pustego projektu.

  1. W menu kontekstowym projektu QuickDate w menu prawym przyciskiem myszy w Eksplorator rozwiązań wybierz pozycję Dodaj>nowy element.

    Zostanie otwarte okno dialogowe Dodawanie nowego elementu . Wybierz pozycję Pokaż wszystkie szablony , jeśli zostanie otwarte okno dialogowe w widoku kompaktowym.

  2. Rozwiń węzeł Elementy języka Visual C#, a następnie wybierz pozycję Kod. W środkowym okienku wybierz szablon Element klasy . W obszarze Nazwa wpisz Kalendarz, a następnie wybierz pozycję Dodaj.

    Program Visual Studio dodaje do projektu plik o nazwie Calendar.cs . Plik cs na końcu jest rozszerzeniem pliku dla plików kodu C#. Plik Calendar.cs zostanie wyświetlony w hierarchii projektu wizualizacji Eksplorator rozwiązań, a plik zostanie otwarty w edytorze.

  3. Zastąp zawartość pliku Calendar.cs następującym kodem:

    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;
            }
        }
    }
    

    Nie musisz jeszcze rozumieć wszystkiego, co robi kod. Uruchom aplikację, naciskając klawisze Ctrl+F5 i sprawdź, czy aplikacja wyświetla bieżącą datę w konsoli lub standardowe dane wyjściowe, okno. Następnie zamknij okno konsoli.

Dodawanie drugiego projektu

Rozwiązania często zawierają więcej niż jeden projekt, a te projekty często odwołują się do siebie. Niektóre projekty w rozwiązaniu mogą być bibliotekami klas, niektóre mogą być aplikacjami wykonywalnym, a niektóre mogą być projektami testów jednostkowych lub witrynami internetowymi.

Aby dodać projekt testu jednostkowego do rozwiązania, zacznij od szablonu projektu, aby nie trzeba było dodawać do projektu innego pliku kodu.

  1. W menu kontekstowym rozwiązania "QuickSolution" w Eksplorator rozwiązań kliknij prawym przyciskiem myszy lub w menu kontekstowym wybierz pozycję Dodaj>nowy projekt.

  2. W oknie dialogowym Dodawanie nowego projektu wprowadź test jednostkowy tekstu w polu wyszukiwania u góry, a następnie wybierz pozycję C# w obszarze Język.

  3. Wybierz szablon projektu Projektu testów jednostkowych dla platformy .NET Core, a następnie wybierz pozycję Dalej.

    Uwaga

    Począwszy od programu Visual Studio 2019 w wersji 16.9, nazwa szablonu projektu MSTest została zmieniona z MSTest Unit Test Project (.NET Core) na Unit Test Project (.NET Core). W tej aktualizacji zmieniono kilka kroków tworzenia projektu.

  4. Nadaj projektowi nazwę QuickTest, a następnie wybierz pozycję Next (Dalej).

  5. Wybierz zalecaną strukturę docelową (.NET Core 3.1) lub .NET 5, a następnie wybierz pozycję Utwórz.

    Drugi projekt zostanie dodany do Eksplorator rozwiązań, a plik o nazwie UnitTest1.cs zostanie otwarty w edytorze.

    Screenshot that shows Solution Explorer with two projects.

  1. W menu kontekstowym rozwiązania "QuickSolution" w Eksplorator rozwiązań kliknij prawym przyciskiem myszy lub w menu kontekstowym wybierz pozycję Dodaj>nowy projekt.

  2. W oknie dialogowym Dodawanie nowego projektu wpisz test jednostkowy w polu wyszukiwania u góry, a następnie wybierz pozycję C# w obszarze Wszystkie języki.

  3. Wybierz szablon projektu Projektu testów jednostkowych języka C# (.NET Framework), a następnie wybierz przycisk Dalej.

  4. Na stronie Konfigurowanie nowego projektu nadaj projektowi nazwę QuickTest, a następnie wybierz pozycję Utwórz.

    Program Visual Studio dodaje projekt QuickTest do Eksplorator rozwiązań, a plik UnitTest1.cs zostanie otwarty w edytorze.

    Screenshot that shows Solution Explorer with two projects.

Dodawanie odwołania do projektu

Użyjesz nowego projektu testów jednostkowych, aby przetestować metodę w projekcie QuickDate , więc musisz dodać odwołanie do pliku QuickDate do projektu QuickTest . Dodanie odwołania powoduje utworzenie zależności kompilacji między dwoma projektami, co oznacza, że podczas kompilowania rozwiązania kompilacje QuickDate przed quicktestem.

  1. Wybierz węzeł Zależności w projekcie QuickTest, a następnie w menu kontekstowym kliknij prawym przyciskiem myszy lub wybierz polecenie Dodaj odwołanie do projektu.

    Zostanie otwarte okno dialogowe Menedżer odwołań.

  2. W okienku po lewej stronie rozwiń węzeł Projekty, a następnie wybierz pozycję Rozwiązanie. W środkowym okienku zaznacz pole wyboru obok pozycji QuickDate, a następnie wybierz przycisk OK.

    Dodano odwołanie do projektu QuickDate .

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

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy węzeł Odwołania projektu QuickTest i wybierz polecenie Dodaj odwołanie z menu kontekstowego.

  2. W oknie dialogowym Menedżer odwołań wybierz pozycję Projekty. W środkowym okienku zaznacz pole wyboru obok pozycji QuickDate, a następnie wybierz przycisk OK.

    Odwołanie do projektu QuickDate jest wyświetlane w projekcie QuickTest w Eksplorator rozwiązań.

    A screenshot of Solution Explorer showing a project reference.

Dodawanie kodu testowego

  1. Teraz dodaj kod testowy do pliku kodu testowego języka C#. Zastąp zawartość pliku UnitTest1.cs następującym kodem:

    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());
            }
        }
    }
    

    Czerwony wywiórz pojawia się pod niektórymi kodami. Ten błąd można naprawić, tworząc projekt testowy jako zestaw znajomy do projektu QuickDate .

  2. W pliku Calendar.cs dodaj następującą instrukcję using i InternalsVisibleToAttribute atrybut na początku pliku, aby usunąć błąd w projekcie testowym.

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

    Kod Calendar.cs powinien wyglądać następująco:

    Screenshot that shows C Sharp code.

    Screenshot that shows C Sharp code.

Uruchamianie testu jednostkowego

Aby sprawdzić, czy test jednostkowy działa, wybierz pozycję Testuj>wszystkie testy na pasku menu. Zostanie otwarte okno Eksplorator testów i powinno zostać wyświetlone, że test TestGetCurrentDate zakończy się pomyślnie.

Screenshot that shows Test Explorer with a passed test.

Screenshot that shows Test Explorer with a passed test.

Napiwek

Możesz również otworzyć Eksploratora testów, wybierając pozycję Eksplorator testów>na pasku menu.

Właściwości projektu

Wiersz w pliku Calendar.cs zawierający InternalsVisibleToAttribute atrybut odwołuje się do nazwy zestawu lub pliku projektu QuickTest . Nazwa zestawu może nie zawsze być taka sama jak nazwa projektu. Aby znaleźć nazwę zestawu projektu, użyj właściwości projektu. Strony właściwości zawierają różne ustawienia projektu.

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt QuickTest i wybierz polecenie Właściwości lub wybierz projekt i naciśnij klawisz Alt+Enter.

    Strony właściwości projektu otwarte na karcie Aplikacja. Nazwa zestawu projektu QuickTest to rzeczywiście QuickTest.

    Jeśli chcesz, możesz zmienić nazwę tutaj. Podczas kompilowania projektu testowego nazwa wynikowego pliku binarnego zmienia się z QuickTest.dll na <NewName.dll>.

    Screenshot that shows project properties.

    Screenshot that shows project properties.

  2. Zapoznaj się z innymi kartami stron właściwości projektu, takimi jak Kompilacja i Debugowanie. Te karty są różne dla różnych typów projektów.

Zobacz też