代码之家  ›  专栏  ›  技术社区  ›  Felipe Pessoto

如何在SVN/visualstudio中管理引用?

  •  7
  • Felipe Pessoto  · 技术社区  · 14 年前

    很长一段时间以来,我一直在寻找一种管理推荐信的方法,但我没有找到任何理想的方法。

    1-)我应该包括我在同一解决方案中使用的所有项目并引用该项目吗?或者只引用dll文件?

    2-)如果我应该引用dll文件,最好的方法是在每个项目中创建一个ReferencedAssemblies,或者在svn根目录下创建一个主文件夹?

    3-)在我的项目的bin文件夹中是否可以粘贴和引用dll?

    4-)是否可以在我的项目的bin文件夹中添加和提交dll?这样,当一个新的developer签出这个项目时,它将编译得非常完美,但这不是visualstudio的默认行为,所有源代码控件默认情况下都忽略bin和obj,只是添加.refresh文件(对于网站项目)

    3 回复  |  直到 14 年前
        1
  •  3
  •   Cᴏʀʏ bcherry    14 年前

    1) 如果在解决方案中包含已在其他位置签入的项目,则可以在VisualStudio的解决方案级别更改该项目的SVN绑定。(文件>源代码管理>更改源代码管理)。您可以将其更改为指向SVN回购中的任何位置。

    2) 如果在不同的机器上有许多开发人员都希望使用相同的库,那么为所有第三方库/程序集建立一个公共位置可能会更容易。把它们复制到SVN存储库中的所有地方是没有意义的。

    3) 不,通常这样做不好。我会避免(除非有人有正当理由)。

    4) 从不提交你的bin文件夹。这种默认行为是有原因的。.refresh文件是旧网站的副产品 地点 项目,他们很好。

        2
  •  2
  •   Restuta    14 年前

    1) 在典型的场景中,是的,您应该引用您拥有的所有项目。但您应该根据对引用项目所做更改的频率来做出决定。例如,如果您有一个开放源代码库,最好将其作为程序集包含,因为您可能不会经常更改此代码。

    2) alt text

    3) 不,最好是从其他源引用程序集 箱子 箱子 在构建过程中。还要注意,bin文件夹中*.refresh文件的目的是防止您自己复制新版本。

    不,你不应该提交你的bin文件夹,因为你可以依赖于*.refresh文件的网站,只是忘记了这个问题的其他项目类型。

        3
  •  0
  •   James Skemp    14 年前

    1) 我认为这取决于您的特殊情况,特别是因为visualstudio在解决方案中包含哪些项目方面非常灵活。(它不绑定到目录结构。)

    2、3、4)为了在项目中引用和包含文件,为什么不直接使用VisualStudio内置的功能呢?以这种方式添加引用会将项添加到csproj(vbproj)文件中。

    (根据我的研究,如果您没有引用作为解决方案一部分的项目,请将DLL放在团队中每个人都可以访问并在添加引用时使用的目录中。在项目文件中,结果如下所示:

    <Reference Include="Elmah">
        <HintPath>\\pathInformation\shared assemblies\ELMAH 1.1 32-bit\Elmah.dll</HintPath>
    </Reference>
    

    )