Visual Basic을 사용하여 프로젝트 및 솔루션에 대해 알아보기
이 소개 아티클에서는 Visual Studio에서 솔루션 및 프로젝트 만들기를 살펴봅니다. 솔루션은 하나 이상의 관련된 코드 프로젝트를 구성하는 데 사용되는 컨테이너입니다(예: 클래스 라이브러리 프로젝트 및 해당 테스트 프로젝트). 프로젝트의 속성 및 포함될 수 있는 일부 파일을 살펴봅니다. 또한 하나의 프로젝트에서 다른 프로젝트에 대한 참조를 만듭니다.
팁
아직 Visual Studio를 설치하지 않은 경우 Visual Studio 다운로드 페이지로 이동하여 체험용으로 설치합니다.
프로젝트의 개념을 이해하는 교육 연습으로 솔루션 및 프로젝트를 처음부터 구성하겠습니다. 일반적으로 Visual Studio를 사용하는 경우 새 프로젝트를 만들 때 Visual Studio에서 제공하는 다양한 프로젝트 템플릿을 사용합니다.
참고 항목
Visual Studio에서 앱을 개발하는 데 솔루션과 프로젝트는 필요하지 않습니다. 또한 코드, 시작 코딩, 빌드 및 디버깅을 포함하는 폴더를 열 수 있습니다. 예를 들어 GitHub 리포지토리를 복제하면 Visual Studio 프로젝트와 솔루션이 포함되지 않을 수 있습니다. 자세한 내용은 프로젝트 또는 솔루션 없이 Visual Studio에서 코드 개발을 참조하세요.
솔루션 및 프로젝트
이름과 달리 솔루션은 "정답"이 아닙니다. 솔루션은 Visual Studio에서 하나 이상의 관련 프로젝트를 구성하는 데 사용되는 간단한 컨테이너입니다. Visual Studio에서 솔루션을 열면 솔루션에 포함된 모든 프로젝트가 자동으로 로드됩니다.
솔루션 만들기
빈 솔루션을 만들어 탐색을 시작합니다. Visual Studio에 대해 잘 알게 되면 빈 솔루션을 자주 만들지 않습니다. 새 프로젝트를 만들 때 Visual Studio에서는 솔루션이 아직 열려 있지 않은 경우 자동으로 솔루션을 만들어서 프로젝트를 보관합니다.
Visual Studio를 엽니다.
시작 창에서 새 프로젝트 만들기를 선택합니다.
새 프로젝트 만들기 페이지에서 검색 상자에 빈 솔루션을 입력하고 빈 솔루션 템플릿, 다음을 차례로 선택합니다.
솔루션 이름을 QuickSolution으로 지정하고 만들기를 선택합니다.
솔루션이 Visual Studio 창 오른쪽에 있는 솔루션 탐색기에 표시됩니다. 자주 솔루션 탐색기를 사용하여 프로젝트의 내용을 탐색할 수 있습니다.
Visual Studio를 엽니다.
시작 창에서 새 프로젝트 만들기를 선택합니다.
새 프로젝트 만들기 페이지에서 검색 상자에 빈 솔루션을 입력하고 빈 솔루션 템플릿, 다음을 차례로 선택합니다.
솔루션 이름을 QuickSolution으로 지정하고 만들기를 선택합니다.
솔루션이 Visual Studio 창 오른쪽에 있는 솔루션 탐색기에 표시됩니다. 자주 솔루션 탐색기를 사용하여 프로젝트의 내용을 탐색할 수 있습니다.
프로젝트 추가
이제 첫 번째 프로젝트를 솔루션에 추가해 보겠습니다. 빈 프로젝트를 시작하고 프로젝트에 필요한 항목을 추가합니다.
솔루션 탐색기의 솔루션 'QuickSolution'을 마우스 오른쪽 단추로 클릭하고 추가>새 프로젝트를 선택합니다.
새 프로젝트 추가라고 표시된 대화 상자가 열립니다.
상단의 검색 상자에 empty라는 텍스트를 입력한 다음 언어 아래에서 Visual Basic을 선택합니다.
빈 프로젝트(.NET Framework) 템플릿을 선택한 후에 다음을 선택합니다.
프로젝트 이름을 QuickDate로 지정한 다음, 만들기를 선택합니다.
QuickDate라는 프로젝트는 솔루션 탐색기의 솔루션 아래에 표시됩니다. 현재 App.config라는 단일 파일이 포함됩니다.
참고 항목
빈 프로젝트(.NET Framework) 템플릿이 표시되지 않는 경우 .NET 데스크톱 개발 Visual Studio 워크로드를 설치해야 합니다. Visual Studio에서는 워크로드 기반 설치를 사용하여 개발할 형식에 필요한 구성 요소만을 설치합니다. 새 프로젝트를 만들 때 원하는 내용을 찾을 수 없습니까?로 표시된 텍스트 아래에서 추가 도구 및 기능 설치 링크를 선택하면 새 워크로드를 간편히 설치할 수 있습니다. Visual Studio 설치 관리자가 실행되면 .NET 데스크톱 개발 워크로드를 선택한 다음, 수정 단추를 선택합니다.
솔루션 탐색기의 솔루션 'QuickSolution'을 마우스 오른쪽 단추로 클릭하고 추가>새 프로젝트를 선택합니다.
새 프로젝트 추가라고 표시된 대화 상자가 열립니다.
맨 위 검색 상자에 빈 텍스트를 입력하고 모든 언어 드롭다운 목록에서 Visual Basic을 선택합니다.
빈 프로젝트(.NET Framework) 템플릿을 선택한 후에 다음을 선택합니다.
프로젝트 이름을 QuickDate로 지정한 다음, 만들기를 선택합니다.
QuickDate라는 프로젝트는 솔루션 탐색기의 솔루션 아래에 표시됩니다. 현재 App.config라는 단일 파일이 포함됩니다.
참고 항목
빈 프로젝트(.NET Framework) 템플릿이 표시되지 않는 경우 .NET 데스크톱 개발 Visual Studio 워크로드를 설치해야 합니다. Visual Studio에서는 워크로드 기반 설치를 사용하여 개발할 형식에 필요한 구성 요소만을 설치합니다. 새 프로젝트를 만들 때 원하는 내용을 찾을 수 없습니까?로 표시된 텍스트 아래에서 추가 도구 및 기능 설치 링크를 선택하면 새 워크로드를 간편히 설치할 수 있습니다. Visual Studio 설치 관리자가 실행되면 .NET 데스크톱 개발 워크로드를 선택한 다음, 수정 단추를 선택합니다.
프로젝트에 새 항목 추가
빈 프로젝트가 있습니다. 코드 파일을 추가하겠습니다.
솔루션 탐색기의 QuickDate 프로젝트를 마우스 오른쪽 단추로 클릭하거나 상황에 맞는 메뉴에서 추가>새 항목을 선택합니다.
새 항목 추가 대화 상자가 열립니다.
공통 항목을 확장한 다음, 코드를 선택합니다. 가운데 창에서 클래스 항목 템플릿을 선택합니다. 클래스 이름을 Calendar로 지정한 다음, 추가 단추를 선택합니다.
Calendar.vb라는 파일을 프로젝트에 추가합니다. 끝에 있는 .vb는 Visual Basic 코드 파일에 지정된 파일 확장명입니다. 솔루션 탐색기의 Visual 프로젝트 계층 구조에 파일이 표시되고 해당 내용이 편집기에서 열립니다.
Calendar.vb 파일의 콘텐츠를 다음 코드로 바꿉니다.
Class Calendar Public Shared Function GetCurrentDate() As Date Return DateTime.Now.Date End Function End Class
Calendar
클래스는 현재 날짜를 반환하는 단일 함수GetCurrentDate
를 포함하고 있습니다.솔루션 탐색기에서 내 프로젝트를 두 번 클릭하여 프로젝트 속성을 엽니다. 애플리케이션 탭에서 애플리케이션 유형을 클래스 라이브러리로 변경합니다. 이 단계는 프로젝트를 성공적으로 빌드하는 데 필요합니다.
솔루션 탐색기에서 QuickDate를 마우스 오른쪽 단추로 클릭하고 빌드를 선택하여 프로젝트를 빌드합니다. 출력 창에 성공적인 빌드 메시지가 표시되어야 합니다.
두 번째 프로젝트 추가
일반적으로 솔루션에 둘 이상의 프로젝트 및 종종 이러한 프로젝트 참조가 서로 포함됩니다. 솔루션의 프로젝트는 클래스 라이브러리, 실행 가능한 애플리케이션 및 일부 단위 테스트 프로젝트 또는 웹 사이트일 수 있습니다.
솔루션에 단위 테스트 프로젝트를 추가해 보겠습니다. 이번에는 프로젝트에 추가 코드 파일을 추가하지 않아도 되도록 프로젝트 템플릿으로 시작하겠습니다.
- 솔루션 탐색기의 솔루션 'QuickSolution'을 마우스 오른쪽 단추로 클릭하고 추가>새 프로젝트를 선택합니다.
새 프로젝트 추가 대화 상자에서 단위 테스트라는 텍스트를 상단의 검색 상자에 입력한 다음 언어 아래의 Visual Basic을 선택합니다.
단위 테스트 프로젝트(.NET Framework) 프로젝트 템플릿을 선택한 후, 다음을 선택합니다.
프로젝트 이름을 QuickTest로 지정한 다음, 만들기를 선택합니다.
두 번째 프로젝트가 솔루션 탐색기에 추가되고 UnitTest1.vb라는 파일이 편집기에서 열립니다.
새 프로젝트 추가 대화 상자의 맨 위 검색 상자에 유닛 테스트 텍스트를 입력하고 모든 언어 드롭다운 목록에서 Visual Basic을 선택합니다.
단위 테스트 프로젝트(.NET Framework) 프로젝트 템플릿을 선택한 후, 다음을 선택합니다.
프로젝트 이름을 QuickTest로 지정한 다음, 만들기를 선택합니다.
두 번째 프로젝트가 솔루션 탐색기에 추가되고 UnitTest1.vb라는 파일이 편집기에서 열립니다.
프로젝트 참조 추가
해당 프로젝트에 대한 참조를 추가하기 위해 새 단위 테스트 프로젝트를 사용하여 QuickDate 프로젝트에서 이 메서드를 테스트하려고 합니다. 참조는 두 프로젝트 간에 ‘빌드 종속성’을 만듭니다. 즉, 솔루션을 빌드할 때 QuickDate가 QuickTest보다 먼저 빌드됩니다.
QuickTest 프로젝트에서 참조 노드를 선택하고 마우스 오른쪽 단추로 클릭하거나 상황에 맞는 메뉴에서 참조 추가를 선택합니다.
참조 관리자 대화 상자가 열립니다.
왼쪽 창에서 프로젝트를 확장하고 솔루션을 선택합니다. 가운데 창에서 QuickDate 옆에 있는 확인란을 선택한 후 확인 단추를 선택합니다.
QuickDate 프로젝트에 대한 참조가 추가됩니다.
QuickTest 프로젝트에서 참조 노드를 선택하고 마우스 오른쪽 단추로 클릭하거나 상황에 맞는 메뉴에서 참조 추가를 선택합니다.
참조 관리자 대화 상자가 열립니다.
왼쪽 창에서 프로젝트를 확장하고 솔루션을 선택합니다. 가운데 창에서 QuickDate 옆에 있는 확인란을 선택한 후 확인 단추를 선택합니다.
QuickDate 프로젝트에 대한 참조가 추가됩니다.
테스트 코드 추가
이제 Visual Basic 코드 파일에 테스트 코드를 추가합니다. UnitTest1.vb의 내용을 다음 코드로 바꿉니다.
<TestClass()> Public Class UnitTest1 <TestMethod()> Public Sub TestGetCurrentDate() Assert.AreEqual(Date.Now.Date, QuickDate.Calendar.GetCurrentDate()) End Sub End Class
일부 코드에서 빨간색 물결선이 표시됩니다. 테스트 프로젝트를 friend 어셈블리에서 QuickDate 프로젝트로 만들어서 이 오류를 수정합니다.
QuickDate 프로젝트로 돌아와서 아직 열지 않은 Calendar.vb 파일을 열고, 다음 Import 문 및 InternalsVisibleToAttribute 특성을 추가하여 테스트 프로젝트에서 오류를 해결합니다.
Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo("QuickTest")>
코드 파일이 다음과 같이 나타납니다.
이제 Visual Basic 코드 파일에 테스트 코드를 추가합니다. UnitTest1.vb의 내용을 다음 코드로 바꿉니다.
<TestClass()> Public Class UnitTest1 <TestMethod()> Public Sub TestGetCurrentDate() Assert.AreEqual(Date.Now.Date, QuickDate.Calendar.GetCurrentDate()) End Sub End Class
일부 코드에서 빨간색 물결선이 표시됩니다. 테스트 프로젝트를 friend 어셈블리에서 QuickDate 프로젝트로 만들어서 이 오류를 수정합니다.
QuickDate 프로젝트로 돌아와서 아직 열지 않은 Calendar.vb 파일을 열고, 다음 Import 문 및 InternalsVisibleToAttribute 특성을 추가하여 테스트 프로젝트에서 오류를 해결합니다.
Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo("QuickTest")>
코드 파일이 다음과 같이 나타납니다.
프로젝트 속성
InternalsVisibleToAttribute 특성이 포함된 Calendar.vb 파일의 줄은 QuickTest 프로젝트의 어셈블리 이름(파일 이름)을 참조합니다. 어셈블리 이름은 프로젝트 이름과 동일하지 않을 수 있습니다. 프로젝트의 어셈블리 이름을 찾으려면 프로젝트 속성을 엽니다.
솔루션 탐색기에서 QuickTest 프로젝트를 선택합니다. 마우스 오른쪽 단추로 클릭하거나 상황에 맞는 메뉴에서 속성을 선택하거나 Alt+Enter 키를 누릅니다. (솔루션 탐색기에서 내 프로젝트를 두 번 클릭할 수도 있습니다.)
프로젝트의 속성 페이지가 애플리케이션 탭에서 열립니다. 속성 페이지에는 프로젝트에 대한 다양한 설정이 포함되어 있습니다. QuickTest 프로젝트의 어셈블리의 이름은 실제로 "QuickTest"입니다. 어셈블리 이름을 변경하려는 경우 여기서 변경합니다. 그런 다음, 테스트 프로젝트를 빌드할 때 결과 이진 파일의 이름이 QuickTest.dll에서 선택한 이름으로 변경됩니다.
컴파일 및 설정과 같은 프로젝트 속성 페이지의 일부 다른 탭을 탐색합니다. 이러한 탭은 다양한 형식의 프로젝트에 따라 달라집니다.
InternalsVisibleToAttribute 특성을 포함하고 QuickTest 프로젝트의 어셈블리 이름(파일 이름)을 참조하는 Calendar.vb 파일의 줄입니다. 어셈블리 이름은 프로젝트 이름과 동일하지 않을 수 있습니다. 프로젝트의 어셈블리 이름을 찾으려면 프로젝트 속성을 엽니다.
솔루션 탐색기에서 QuickTest 프로젝트를 선택합니다. 마우스 오른쪽 단추로 클릭하거나 상황에 맞는 메뉴에서 속성을 선택하거나 Alt+Enter 키를 누릅니다. (솔루션 탐색기에서 내 프로젝트를 두 번 클릭할 수도 있습니다.)
프로젝트의 속성 페이지가 애플리케이션 탭에서 열립니다. 속성 페이지에는 프로젝트에 대한 다양한 설정이 포함되어 있습니다. QuickTest 프로젝트의 어셈블리의 이름은 실제로 "QuickTest"입니다. 어셈블리 이름을 변경하려는 경우 여기서 변경합니다. 그런 다음, 테스트 프로젝트를 빌드할 때 결과 이진 파일의 이름이 QuickTest.dll에서 선택한 이름으로 변경됩니다.
컴파일 및 설정과 같은 프로젝트 속성 페이지의 일부 다른 탭을 탐색합니다. 이러한 탭은 다양한 형식의 프로젝트에 따라 달라집니다.
(선택 사항) 테스트 실행
단위 테스트가 작동하는지 확인하려면 메뉴 모음에서 테스트>실행>모든 테스트를 선택합니다. 테스트 탐색기라는 창이 열리면 TestGetCurrentDate 테스트에 통과했다고 표시됩니다.
팁
테스트 탐색기가 자동으로 열리지 않는 경우 메뉴 모음에서 테스트>Windows>테스트탐색기를 선택하여 테스트 탐색기를 엽니다.
단위 테스트가 작동하는지 확인하려면 메뉴 모음에서 테스트>모든 테스트 실행을 선택합니다. 테스트 탐색기라는 창이 열리면 TestGetCurrentDate 테스트에 통과했다고 표시됩니다.
팁
테스트 탐색기가 자동으로 열리지 않는 경우 메뉴 모음에서 테스트>Windows>테스트탐색기를 선택하여 테스트 탐색기를 엽니다.
다음 단계
Visual Studio를 추가로 탐색하려면 Visual Basic 자습서 중 하나를 따라 앱을 만드는 것이 좋습니다.