Answers:
如本博客文章所述,这是可能的。
<ItemGroup>
<Compile Include="any_abs_or_rel_path\**\*.*">
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
</Compile>
</ItemGroup>
但是请注意,文件不会被复制。
<None>...</None>
代替<Compile>...</Compile>
。但是我认为,无论如何它都会复制这些文件。即使Visual Studio也会使用链接文件来执行此操作。
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
它来防止扩展名脱离文件名。
在VS2012及更高版本中,您可以按下Alt键将文件夹拖到另一个项目。就像手动将每个文件添加为链接一样,但是速度更快。
upd:如果您使用的是VS2013更新2(使用“ 共享项目参考管理器”)或VS2015,请考虑使用“ 共享项目”。
除了 从莫答案。以及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 Administrator身份运行
mklink /d LinkToDirectory DirectoryThatIsLinkedTo
BAM符号链接!
/ d指定目录链接。
即插即用,可在Vista中使用。可以反向移植到XP。
此处的文档:http : //technet.microsoft.com/zh-cn/library/cc753194%28WS.10%29.aspx
对于那些不熟悉符号链接的人,它实际上是指向另一个文件或目录的指针。它对应用程序是透明的。磁盘上的一份副本,有几种解决方法。您还可以创建一个“硬链接”,该链接不是指向另一个地址的指针,而是指向同一文件的NTFS中的实际文件ID条目。
注意:如注释中所述,这仅在创建符号链接的计算机上有效,而在git之类的版本控制系统中无效。
<Content ...>
,并进行添加<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
以使Visual Studio复制生成的资源。