이 소개 문서에서는 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를 엽니다.
시작 창에서 새 프로젝트 만들기선택합니다.
새 프로젝트 만들기 페이지에서 빈 솔루션 검색 상자에 입력하고 빈 솔루션 템플릿을 선택한 다음 선택합니다.
솔루션을 QuickSolution으로 지정한 후, 만들기을 선택합니다.
솔루션 탐색기에 Visual Studio 창의 오른쪽에 솔루션이 나타납니다. 솔루션 탐색기 자주 사용하여 프로젝트의 내용을 찾아볼 수 있습니다.
프로젝트 추가
이제 솔루션에 첫 번째 프로젝트를 추가해 보겠습니다. 빈 프로젝트로 시작하고 프로젝트에 필요한 항목을 추가합니다.
솔루션 탐색기에서 솔루션 'QuickSolution'을 오른쪽 클릭하거나 상황 메뉴를 선택한 후 >새 프로젝트추가를 선택합니다.
새 프로젝트 추가대화 상자가 열립니다.
위쪽의 검색 상자에 빈 텍스트를 입력한 다음, 언어아래에서 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.vb 파일이 추가됩니다. 끝의 .vb Visual Basic 코드 파일에 지정된 파일 확장명입니다. 파일은 솔루션 탐색기시각적 프로젝트 계층 구조에 표시되고 해당 내용은 편집기에서 열립니다.
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 프로젝트에서 메서드를 테스트하므로 해당 프로젝트에 대한 참조를 추가해야 합니다. 이 참조는 두 프로젝트 간에 빌드 종속성 만듭니다. 즉, 솔루션을 빌드할 때 QuickDateQuickTest전에 빌드됩니다.
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
일부 코드의 아래에 빨간색 물결선이 표시됩니다. 테스트 프로젝트를 QuickDate 프로젝트에 friend 어셈블리로 만들어 이 오류를 해결합니다.
QuickDate 프로젝트로 돌아가서 아직 열려 있지 않은 경우 Calendar.vb 파일을 열고 다음 Imports 문 및 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
일부 코드 아래에 빨간색 물결선이 표시됩니다. 이 오류를 해결하기 위해 테스트 프로젝트를 QuickDate 프로젝트에 프렌드 어셈블리로 만듭니다.
QuickDate 프로젝트로 돌아가서 아직 열려 있지 않은 경우 Calendar.vb 파일을 열고 다음 Imports 문 및 InternalsVisibleToAttribute 특성을 추가하여 테스트 프로젝트의 오류를 해결합니다.
Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo("QuickTest")>
코드 파일은 다음과 같습니다.
프로젝트 속성
InternalsVisibleToAttribute 특성이 포함된 Calendar.vb 파일의 줄은 QuickTest 프로젝트의 어셈블리 이름(파일 이름)을 참조합니다. 어셈블리 이름이 항상 프로젝트 이름과 같은 것은 아닐 수 있습니다. 프로젝트의 어셈블리 이름을 찾으려면 프로젝트 속성을 엽니다.
솔루션 탐색기QuickTest 프로젝트를 선택합니다. 마우스 오른쪽 단추로 클릭하거나 상황에 맞는 메뉴에서 속성선택하거나 Alt+Enter누릅니다. (솔루션 탐색기 에서 내 프로젝트 을 두 번 클릭할 수도 있습니다.)
애플리케이션 탭에서 열리는 프로젝트에 대한 속성 페이지. 속성 페이지에는 프로젝트에 대한 다양한 설정이 포함되어 있습니다. QuickTest 프로젝트의 어셈블리 이름은 실제로 "QuickTest"입니다. 어셈블리 이름을 변경하려는 경우 이 작업을 수행합니다. 그런 다음 테스트 프로젝트를 빌드할 때 결과 이진 파일의 이름이 QuickTest.dll 선택한 항목으로 변경됩니다.
컴파일 및 설정같은 프로젝트 속성 페이지의 다른 탭을 탐색합니다. 이러한 탭은 프로젝트 유형에 따라 다릅니다.
InternalsVisibleToAttribute 특성을 포함하는 Calendar.vb 파일의 줄은 QuickTest 프로젝트의 어셈블리 이름(파일 이름)을 참조합니다. 어셈블리 이름이 항상 프로젝트 이름과 같은 것은 아닐 수 있습니다. 프로젝트의 어셈블리 이름을 찾으려면 프로젝트 속성을 엽니다.
솔루션 탐색기QuickTest 프로젝트를 선택합니다. 마우스 오른쪽 단추로 클릭하거나 상황에 맞는 메뉴에서 속성선택하거나 Alt+Enter누릅니다. (솔루션 탐색기 내 프로젝트 두 번 클릭할 수도 있습니다.)
애플리케이션 탭에서 열리는 프로젝트에 대한 속성 페이지. 속성 페이지에는 프로젝트에 대한 다양한 설정이 포함되어 있습니다. QuickTest 프로젝트의 어셈블리 이름은 실제로 "QuickTest"입니다. 어셈블리 이름을 변경하려는 경우 이 작업을 수행합니다. 그런 다음 테스트 프로젝트를 빌드할 때 결과 이진 파일의 이름이 QuickTest.dll 선택한 항목으로 변경됩니다.
컴파일 및 설정같은 프로젝트 속성 페이지의 다른 탭을 탐색합니다. 이러한 탭은 프로젝트 유형에 따라 다릅니다.
(선택 사항) 테스트 실행
단위 테스트가 작동하는지 확인하려면 메뉴 모음에서 테스트>실행>모든 테스트 선택합니다. 테스트 탐색기라는 창이 열리고 TestGetCurrentDate 테스트가 통과했음을 알 수 있습니다.
팁
테스트 탐색기 자동으로 열리지 않으면 메뉴 모음에서 테스트>Windows>테스트 탐색기 선택하여 엽니다.
단위 테스트가 작동하는지 확인하려면 메뉴 모음에서 테스트>모든 테스트 실행 선택합니다. 테스트 탐색기라는 창이 열리고 TestGetCurrentDate 테스트가 통과했음을 알 수 있습니다.
팁
테스트 탐색기 자동으로 열리지 않으면 메뉴 모음에서 테스트>Windows>테스트 탐색기 선택하여 엽니다.
다음 단계
Visual Studio를 추가로 탐색하려면 Visual Basic 자습서 중 하나를 수행하여 앱을 만드는 것이 좋습니다.