[visual-studio] Visual Studio 프로젝트와 솔루션

VS를 처음 접할 때이 두 개념을 어떻게 생각할 수 있습니까? 차이점은 무엇입니까?



답변

솔루션은 프로젝트의 컨테이너이며 프로젝트 간의 종속성을 추적합니다.


답변

다른 답변에서 누락 된 정보가 있습니다 (적어도 Eclipse와 같은 다른 IDE에서 온 사람들에게는). 솔루션이 프로젝트의 컨테이너라고 말하는 것은 문제의 일부일뿐입니다. VS 프로젝트의 개념적 특징 ( ‘세분성’을 결정하는 요소)은 하나의 프로젝트가 일반적으로 실행 파일 또는 라이브러리 (dll) 하나의 출력을 생성 한다는 입니다. 따라서 관련 코드를 사용하는 실행 파일 3 개를 코딩하려는 경우 하나의 솔루션과 최소 3 개의 프로젝트를 만들게됩니다.


답변

은유를 생각해 보니 ..

솔루션은 집과 같고 프로젝트는 방과 같습니다. 각 방은 기능의 일부를 제공하는 반면 방의 컨테이너 인 집은 방을 함께 연결하고 적절하게 구성하는 수단을 제공합니다.

약간 진부하지만 나는 그것을 즉석에서 만들었으므로 나와 함께 참아주세요 🙂


답변

Visual Studio가 상황을 더 혼란스럽게 만드는 것은 도움이되지 않습니다. “새 프로젝트”는 실제로 프로젝트를 포함하는 새 솔루션을 생성합니다. “Open Project”는 실제로 하나 (또는 ​​여러 개)의 프로젝트를 포함하는 솔루션을 엽니 다. (파일 메뉴에 “Open Project / Solution”이 표시되어 있지만 실제로는 솔루션을 여는 것입니다. 정확한 “Close Solution”만있는 “Close Project”는 없습니다.

따라서 VS에서는 항상 솔루션 내에서 작업합니다. 많은 솔루션에는 하나의 프로젝트 만 포함되어 있으며 새로운 개발자는이를 동일한 것으로 생각할 가능성이 높습니다. 그러나 다른 프로젝트를 솔루션에 추가 할 수 있습니다.


답변

누군가 여기까지 아래로 스크롤하기로 결정한 경우를 대비하여 MS 문서 가 차이점을 설명하는 데 꽤 잘 했다고 생각했습니다 . 여기에 관련 비트를 붙여넣고 다시 표현했습니다.

Visual Studio에서 앱, 애플리케이션, 웹 사이트, 웹 앱, 스크립트, 플러그인 등을 만들 때 프로젝트로 시작합니다. 논리적 의미에서 프로젝트에는 모든 소스 코드 파일, 아이콘, 이미지, 데이터 파일 및 실행 가능한 프로그램이나 웹 사이트로 컴파일 될 기타 모든 것이 포함되거나 컴파일을 수행하기 위해 필요합니다. 또한 프로젝트에는 프로그램이 통신 할 다양한 서비스 또는 구성 요소에 필요할 수있는 모든 컴파일러 설정 및 기타 구성 파일이 포함됩니다.

원하지 않는 경우 솔루션이나 프로젝트를 사용할 필요가 없습니다. Visual Studio에서 파일을 열고 코드 편집을 시작할 수 있습니다.

문자 그대로의 의미에서, 프로젝트는 (XML 파일입니다 .vbproj, .csproj, .vcxproj) 모든 항목에 대한 경로와 함께 가상 폴더 계층 구조를 정의하는 그것을 모든 빌드 설정 “할 수 있습니다.”

Visual Studio에서 프로젝트 파일은 솔루션 탐색기에서 프로젝트 콘텐츠 및 설정을 표시하는 데 사용됩니다. 프로젝트를 컴파일 할 때 MSBuild 엔진은 프로젝트 파일을 사용하여 실행 파일을 만듭니다. 다른 종류의 출력을 생성하도록 프로젝트를 사용자 정의 할 수도 있습니다.

프로젝트는 하나 이상의 프로젝트, 빌드 정보, Visual Studio 창 설정 및 프로젝트와 연결되지 않은 기타 파일을 포함 할 수있는 솔루션 내에 논리적 의미와 파일 시스템에 포함됩니다. 문자 그대로의 의미에서 솔루션은 고유 한 형식을 가진 텍스트 파일입니다. 일반적으로 수작업으로 편집 할 수 없습니다.

솔루션에는 .suo프로젝트에서 작업 한 각 사용자에 대한 설정, 기본 설정 및 구성 정보를 저장 하는 관련 파일이 있습니다.


답변

솔루션에는 여러 프로젝트가있을 수 있습니다.

솔루션은 서로 다른 프로젝트 간의 종속성 관리를 처리 할 수도 있습니다. 각 프로젝트가 최종 솔루션이 작동 할 수 있도록 적절한 순서로 빌드되도록합니다.


답변

프로젝트에는 응용 프로그램 또는 응용 프로그램의 구성 요소를 구성하는 실행 파일 및 라이브러리 파일이 포함됩니다.

솔루션은 애플리케이션을 구성하는 논리적으로 관련된 프로젝트의 자리 표시 자입니다. 예를 들어 애플리케이션의 GUI, 데이터베이스 액세스 레이어 등에 대해 별도의 프로젝트를 가질 수 있습니다. 프로젝트는 프로그램의 기능에 대한 특정 부서가 될 것이며 솔루션은 하나의 응용 프로그램에서 모든 항목을 통합하는 우산이 될 것입니다.