[visual-studio] Visual Studio 프로젝트의 폴더에 대한 “링크로 추가”

Visual Studio에서는 “링크로 추가”를 사용하여 솔루션의 다른 프로젝트에있는 파일에 대한 링크를 추가 할 수 있습니다.

전체 폴더에 대해이 작업을 수행 할 수있는 방법이 있습니까? 그래서 프로젝트 A의 전체 폴더를 해당 폴더의 새 항목에 수동으로 연결할 필요없이 프로젝트 B에서 볼 수 있습니까?



답변

블로그 게시물에서 언급했듯이 가능합니다.

<ItemGroup>
    <Compile Include="any_abs_or_rel_path\**\*.*">
        <Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
    </Compile>
</ItemGroup>

그러나 파일은 복사되지 않습니다.


답변

VS2012 이상에서는 Alt 키를 누른 상태 에서 폴더를 다른 프로젝트로 드래그 할 수 있습니다 . 각 파일을 링크로 수동으로 추가하는 것과 동일하지만 더 빠릅니다.

upd : VS2013 업데이트 2 ( 공유 프로젝트 참조 관리자 사용 ) 또는 VS2015를 사용하는 경우 공유 프로젝트 사용을 고려하십시오 .


답변

mo의 답변에 하나의 추가 . 콘텐츠 항목을 연결하는 경우 Marcus의 주석과 파일 확장자를 포함해야합니다.

<ItemGroup>
  <Compile Include="any_abs_or_rel_path\**\*.*">
    <Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Compile>
</ItemGroup>


답변

링크 된 폴더가 IDE에 표시되도록하는 원래 쿼리의 일부와 관련하여이 파일을 달성 할 수 있습니다. 따라서 솔루션 탐색기에 모든 링크 된 파일이있는 폴더가 있습니다. 해결책. 이를 위해 다음을 추가하십시오.

  <ItemGroup>
    <Compile Include="..\anypath\**\*.*">
      <Link>MyData\A\%(RecursiveDir)%(FileName)%(Extension)</Link>
    </Compile>
  </ItemGroup>

여기에는 솔루션 탐색기의 MyData라는 새 폴더에 링크 된 디렉토리의 모든 파일이 포함됩니다. 위 코드에서 ‘A’는 무엇이든 호출 할 수 있지만 폴더가 나타나려면 있어야합니다.


답변

폴더를 참조로 추가하고 컴파일하지 않으려면 다음을 사용하십시오.

<Content Include="any_path\**\*.*">
  <Link>folder_in_B_project\%(RecursiveDir)%(FileName)%(Extension)</Link>
</Content>


답변

껍질을 벗기고 상징적 인 링크를 추가하십시오.

그런 다음 runas 관리자

mklink /d LinkToDirectory DirectoryThatIsLinkedTo

BAM 심볼릭 링크!

/ d는 디렉토리 링크를 지정합니다.

Vista에서 즉시 사용할 수 있습니다. XP로 백 포트 할 수 있습니다.

여기에 설명서 : http://technet.microsoft.com/en-us/library/cc753194%28WS.10%29.aspx

심볼릭 링크에 익숙하지 않은 사용자에게는 기본적으로 다른 파일 또는 디렉토리에 대한 포인터입니다. 응용 프로그램에 투명합니다. 디스크에 하나의 사본이 있으며 여러 가지 방법으로 디스크를 처리 할 수 ​​있습니다. 다른 주소에 대한 포인터가 아니라 동일한 파일에 대한 NTFS의 실제 파일 ID 항목 인 “하드 링크”를 만들 수도 있습니다.

참고 : 주석에 명시된 바와 같이 이것은 심볼릭 링크를 만든 컴퓨터에서만 작동하며 git와 같은 버전 제어 시스템에서는 작동하지 않습니다.


답변