Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio Anhksvn+Visual Studio-使用链接文件_Visual Studio_File_Linked List - Fatal编程技术网

Visual studio Anhksvn+Visual Studio-使用链接文件

Visual studio Anhksvn+Visual Studio-使用链接文件,visual-studio,file,linked-list,Visual Studio,File,Linked List,我需要一些建议。 我正在采用subversion,并试图将一些现有的VisualStudio2010项目放入存储库。我有AhnkSvn的最新版本 我参与的项目包括: VS2010\u项目\项目\u A VS2010\u项目\项目 VS2010\u项目\项目\u C VS2010\u项目\通用\u代码 其中,Project_A、Project_B和Project_C都可能引用公共_代码中的一个或多个文件 在VisualStudio中,这些文件将使用“添加为”链接添加 公共_代码中没有实际的项目,只

我需要一些建议。 我正在采用subversion,并试图将一些现有的VisualStudio2010项目放入存储库。我有AhnkSvn的最新版本

我参与的项目包括:

VS2010\u项目\项目\u A

VS2010\u项目\项目

VS2010\u项目\项目\u C

VS2010\u项目\通用\u代码

其中,Project_A、Project_B和Project_C都可能引用公共_代码中的一个或多个文件 在VisualStudio中,这些文件将使用“添加为”链接添加

公共_代码中没有实际的项目,只有一组有用的代码文件,我们可能会在不同的项目中重复使用这些文件。 如果我们有一个模块或类在各种项目中重复使用,那么我们通常在“公共代码”中保留一个主副本,并链接到它。 VisualStudio对此没有问题

当我将任何实际的项目添加到subversion时,它们自己的所有文件都被添加得很好,但是链接的文件被忽略。 因此,如果我得到这些文件的工作副本,那么只有项目文件得到处理,我不会得到链接文件的副本。 如果我右键单击任何链接的文件,我得到的唯一subversion选项就是刷新它们的状态或选择工作文件夹

我想知道处理这种情况的正确方法是什么

任何建议都将不胜感激

谢谢


罗伯特

如果我正确理解了你的问题,那么我认为SVN的行为符合预期。链接文件只是对另一个文件的引用。该引用仅存在于签入的.csproj文件中。在源代码管理中使用同一文件的两个副本是没有意义的,这可能会导致版本控制问题。第一次签出存储库时,在项目上进行构建时,应将文件从通用代码复制到链接位置

顺便说一句,我们在.csproj链接文件和SVN方面遇到了很多随机问题,因此尽可能避免使用链接文件。跨项目重用文件的更好方法显然是将文件嵌入到库中,然后引用该库。除了像Javascript/CSS这样的特定文件之外,这应该可以正常工作


此外,您可能还想查看SVN externals,一位同事提到,这可以用于在多个项目之间共享公共库,尽管作为免责声明,我本人没有尝试过这一方法,也不能评论该方法的优缺点。

谢谢您的建议,我实际上做了一些与您的建议类似的事情。 我不想创建一个完整的库,但我确实创建了一个虚拟项目,并将共享文件放入其中。 然后,我将虚拟项目添加到存储库中

AhnkSvn现在似乎对链接文件在subversion控制下感到满意,并且似乎处理得很好。 我没有在现有项目中添加对虚拟项目的任何引用-它们只是像以前一样使用链接文件-但现在AhnkSvn向我显示它们的状态,并允许我获取最新版本和提交更改


我认为有一个合适的库是有道理的,但这意味着要修改大量的现有项目。这种方法让我可以在不需要先进行更改的情况下启动并运行Subversion。

为了内容组织,这不应该是对@vakman answer的评论,而应该是一个全新的答案吗?