답변:
이 블로그 게시물에서 언급했듯이 가능합니다.
<ItemGroup>
<Compile Include="any_abs_or_rel_path\**\*.*">
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
</Compile>
</ItemGroup>
그러나 파일은 복사되지 않습니다.
<None>...</None>
대신 사용하십시오 <Compile>...</Compile>
. 그러나 나는 그것이 어쨌든 그 파일을 복사 할 것이라고 생각합니다 .VisualStudio조차도 링크 된 파일 로이 작업을 수행합니다.
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
파일 이름에서 확장명이 떨어지지 않도록 사용해야 했습니다.
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>
<Compile ...
? 내 경우에는 .ts
파일을 새 프로젝트 로 참조해야합니다 . 어떻게했는지. 감사!
링크 된 폴더가 IDE에 표시되도록하는 원래 쿼리의 일부와 관련하여이 파일을 달성 할 수 있습니다. 따라서 솔루션 탐색기에 모든 링크 된 파일이있는 폴더가 있습니다. 해결책. 이를 위해 다음을 추가하십시오.
<ItemGroup>
<Compile Include="..\anypath\**\*.*">
<Link>MyData\A\%(RecursiveDir)%(FileName)%(Extension)</Link>
</Compile>
</ItemGroup>
여기에는 솔루션 탐색기의 MyData라는 새 폴더에 링크 된 디렉토리의 모든 파일이 포함됩니다. 위 코드에서 'A'는 무엇이든 호출 할 수 있지만 폴더가 나타나려면 있어야합니다.
껍질을 벗기고 상징적 인 링크를 추가하십시오.
그런 다음 runas 관리자
mklink /d LinkToDirectory DirectoryThatIsLinkedTo
BAM 심볼릭 링크!
/ d는 디렉토리 링크를 지정합니다.
Vista에서 즉시 사용할 수 있습니다. XP로 백 포트 할 수 있습니다.
여기에 설명서 : http://technet.microsoft.com/en-us/library/cc753194%28WS.10%29.aspx
심볼릭 링크에 익숙하지 않은 사용자에게는 기본적으로 다른 파일 또는 디렉토리에 대한 포인터입니다. 응용 프로그램에 투명합니다. 디스크에 하나의 사본이 있으며 여러 가지 방법으로 디스크를 처리 할 수 있습니다. 다른 주소에 대한 포인터가 아니라 동일한 파일에 대한 NTFS의 실제 파일 ID 항목 인 "하드 링크"를 만들 수도 있습니다.
참고 : 주석에 명시된 바와 같이 이것은 심볼릭 링크를 만든 컴퓨터에서만 작동하며 git와 같은 버전 제어 시스템에서는 작동하지 않습니다.
<Content ...>
하고 추가<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
하여 Visual Studio에서 빌드시 리소스를 복사 할 수 있습니다.