[visual-studio] 실제 폴더로 Visual Studio 솔루션 폴더

Visual Studio 솔루션이 있습니다. 현재 빈 솔루션 (= 프로젝트 없음)이며 몇 가지 솔루션 폴더를 추가했습니다.

솔루션 폴더는 실제로 파일 시스템에서 생성되지 않고 솔루션 폴더 내의 파일이 .sln 파일과 동일한 폴더에 있기 때문에 “가상 폴더”로만 보입니다.

Visual Studio에서 솔루션 폴더를 “실제”폴더로 취급하도록 지시하는 설정이 있습니까? 즉, 파일 시스템에서 파일을 만들고 솔루션 내부에서 해당 폴더 중 하나로 이동할 때 파일을이 폴더로 이동하는 것입니다.

편집 : 감사합니다. VS2010에 대한 제안을 할 것입니다 🙂



답변

특별한 설정이 없습니다. 지원되지 않는다고 생각합니다.

솔루션 내 “프로젝트”에 실제 폴더를 만들 수 있지만 솔루션 자체에는 만들 수 없습니다.


답변

실제로 예상대로 작동하는 해결 방법 이 있습니다 .

  1. 신규 또는 기존 웹 사이트 추가솔루션에 를 . (보통 새로 만듭니다.)
  2. 솔루션 폴더 내에 생성되었는지 확인하십시오. (때로는 네트워크 공유에 ‘Docs’또는 ‘Marketing’과 같은 외부 폴더에 대한 “링크”를 생성하기도합니다.이 경우에는 물론 Git에서 무시합니다.)
  3. “프로젝트”설정 또는 구성 관리자로 이동 하여이 “웹 사이트”를 빌드 및 배포에서 제외하십시오 !

끝난. 이제 솔루션 탐색기는 파일 시스템의 모든 변경 사항을 반영하며 그 반대도 마찬가지입니다 (하위 폴더 포함).

팀 내에서 공유되는 사양, 문서, PM 및 일부 DevOps 스크립트에 사용합니다. 선택하기 쉽고, 소스 제어에 포함 할 항목을 포함하거나 포함하지 않을 수 있으며, 올바르게 설정 한 경우 빌드와 충돌하지 않습니다.

이 기능이 해당 사용 사례를위한 것이 아니라는 것을 알고 있지만 오해의 소지가있는 “프로젝트”아이콘을 제외하고는 해당 해킹에 대한 부족함을 아직 찾지 못했습니다. 그리고 VS가 제공하는 클래식 (가상) 솔루션 폴더가 그림에 맞는 사용 사례가 여전히 있습니다. 어떻게 생각해?


답변

Visual Studio 2017에서는 솔루션 탐색기 창에서 “솔루션 및 폴더”아이콘을 클릭합니다. 이 버튼은 가상 “솔루션”보기에서 파일 시스템의 폴더 및 파일 레이아웃과 일치하는 “소스보기”로 전환합니다. 새 폴더를 추가하면 폴더가 예상 위치에 실제로 만들어집니다.
솔루션 및 폴더.


답변

선택한 답변은 솔루션 폴더 대신 실제 프로젝트를 사용할 수 있음을 시사하지만 실제로 방법을 설명하지는 않습니다. 내가 여기서 설명하는 것은 아마도 그것을 달성하는 가장 어색한 방법이라고 생각합니다 … 😛

일반 프로젝트 파일 의 문제점 은 결국 MSBUILD. 그리고 컴파일 수없는 파일 만 포함 된 프로젝트를 원한다면 문제 입니다.

하지만 얼마 전 Visual Studio는 새로운 프로젝트 유형 인 공유 프로젝트 (.shproj 확장자)를 도입했습니다 . 이 프로젝트 유형은 기본적으로 컴파일 되지 않고 다른 프로젝트에서 참조되는 경우에만 컴파일됩니다.

따라서 여기서 트릭의 한 부분 은 솔루션 폴더 대신 공유 프로젝트사용하는 것입니다 . 다른 프로젝트에서 참조 하지 않는 공유 프로젝트를 추가 할 수 있습니다. 즉, 위에 제시된 문제를 피할 수 있습니다.

그런 다음 <None Include="**/*" /> .shproj 파일의 절 새 파일 및 / 또는 하위 폴더를 자동으로 반영 하도록 만들 수 있습니다 .

따라서 기본적으로 다음을 수행하십시오.

  • 솔루션에 새 폴더를 만듭니다.
  • 이 새 폴더의 루트에 새 .shproj 파일을 추가하십시오.
  • 솔루션에서 새 .shproj를 참조하십시오.

예를 들어, 필자의 경우 DockerDev.shproj를 만들었으므로 개발 컴퓨터에서만 실행하는 일부 도커 관련 스크립트를 그룹화 할 수 있습니다.

<?xml version="1.0" encoding="utf-8"?>
<!-- DockerDev/DockerDev.shproj -->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <None Include="**/*" />
  </ItemGroup>
</Project>

이 .shproj 파일은 모든 파일을 추적 합니다.DockerDev 내 솔루션 에있는이 새 폴더의 하위 폴더 합니다.

내가 볼 수있는 한,이 솔루션은 OP가 요청한 것과 거의 비슷하게 작동합니다. 폴더에 대한 컴파일 할 수없는 참조로 작동하고 변경 사항이 자동으로 반영됩니다.


답변

Sara Ford는이를 추가하기 위해 매크로를 제공했습니다. Visual Studio 2010에서 매크로 탐색기를 열면 “GenerateSlnFolderOnDirStructure”라는 매크로가 표시됩니다. 이렇게하면 솔루션 폴더 생성이 자동화되고 파일이 추가됩니다.


답변

솔루션 폴더에 폴더 Cecilia Wirén-CeciliaSHARP

솔루션 폴더에 여러 파일을 추가하는 번거 로움을 제거합니다. 솔루션의 상황에 맞는 메뉴를 사용하고 새 솔루션 폴더를 만드는 옵션 바로 아래에 ‘솔루션 폴더로 폴더 추가’가 있습니다. 그러면 선택한 것과 동일한 이름의 솔루션 폴더가 생성되고 해당 폴더 내의 항목이 솔루션 폴더에 추가됩니다. 이것은 디스크의 파일을 이동하지 않습니다.


답변

아니요, 지원되지 않습니다. 예상했듯이 솔루션 폴더는 .sln 파일의 가상 하위 항목이며 파일 시스템과는 아무 관련이 없습니다.