Visual Studio项目中的文件夹“添加为链接”
在Visual Studio中,我们可以“添加为链接”在解决scheme中的其他项目中添加指向文件的链接。
有没有办法做到这一点整个文件夹,以便项目B中的整个文件夹将在项目B中可见,而不需要手动链接到该文件夹中的新项目?
正如这篇博文所述,这是可能的。
<ItemGroup> <Compile Include="any_abs_or_rel_path\**\*.*"> <Link>%(RecursiveDir)%(FileName)</Link> </Compile> </ItemGroup>
但请注意,这些文件不会被复制。
在VS2012及更高版本中,您可以使用alt键将文件夹拖动到另一个项目。 这与手动添加每个文件作为链接相同,但速度更快。
upd :如果使用VS2013更新2(与共享项目引用pipe理器 )或VS2015,请考虑使用共享项目 。
一个除了从莫答案。 和马库斯的评论,如果你链接的内容项目,你将需要包括文件扩展名:
<ItemGroup> <Compile Include="any_abs_or_rel_path\**\*.*"> <Link>%(RecursiveDir)%(FileName)%(Extension)</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Compile> </ItemGroup>
对不起,额外的答案,我没有足够的声誉来添加评论。
关于原始查询的一部分有一个链接的文件夹出现在IDE中,这是有可能实现这一点,所以在解决scheme资源pipe理器中有一个文件夹里面的所有链接的文件,而不是所有的文件出现在根解决scheme。 要做到这一点,还需要增加:
<ItemGroup> <Compile Include="..\anypath\**\*.*"> <Link>MyData\A\%(RecursiveDir)%(FileName)%(Extension)</Link> </Compile> </ItemGroup>
这将包括解决scheme资源pipe理器中名为MyData的新文件夹中的链接目录中的所有文件。 上面的代码中的'A'可以被称为任何东西,但必须在那里才能出现文件夹。
如果你想添加一个文件夹作为参考,你不想编译它使用:
<Content Include="any_path\**\*.*"> <Link>folder_in_B_project\%(RecursiveDir)%(FileName)%(Extension)</Link> </Content>
没有办法为整个文件夹做,但是如果两个项目在同一个解决scheme中,您可以使用VSCommands 2010同时复制几个文件作为链接。 有关更多信息,请参阅此videohttp://www.youtube.com/watch?v=fa1M0NGXqMg或访问visualstudiogallery.msdn.microsoft.com/en-us/d491911d-97f3-4cf6-87b0-6a2882120acf?lc=1033
破解shell并添加一个符号链接。
runaspipe理员然后
mklink /d LinkToDirectory DirectoryThatIsLinkedTo
BAM符号链接!
/ d指定目录链接。
在Vista中开箱即可使用。 可以回溯到XP。
文档在这里: http : //technet.microsoft.com/en-us/library/cc753194%28WS.10%29.aspx
对于那些不熟悉符号链接的人来说,它本质上是指向另一个文件或目录的指针。 它对应用程序是透明的。 在磁盘上的一个副本,几种方法来解决它。 您也可以创build一个“硬链接”,它不是指向另一个地址的指针,而是在同一个文件中的NTFS中的实际文件ID条目。