代码之家  ›  专栏  ›  技术社区  ›  Ben Mills

向受源代码管理的产品添加Visual Studio引用

  •  2
  • Ben Mills  · 技术社区  · 17 年前

    举个例子,我试图添加一个对 WatiN 在Visual Studio 2008中。我下载了watin,桌面上有一个文件夹,其中包含5个文件:

    • WATIN CORE DLL
    • WATIN CORE XML
    • 互操作.shdocvw.dll
    • Microsoft.mshtml.dll文件
    • watin.core.unittests.dll文件
    • watin.core.unittests.dll.config文件

    我可以添加对watin.core.dll的引用,然后在Visual Studio中开始编码。但我有一些问题:

    • 现在可以删除桌面上的文件夹吗?文件是否复制到项目箱?
    • 当我将项目签入源代码,而另一个开发人员签出时会发生什么?他/她必须在桌面上有相同的文件夹吗?

    我的想法是在项目中创建一个lib文件夹并引用lib文件夹中的文件。此文件夹将被添加到源代码管理中,以便所有内容都能为下一个开发人员工作。但我对这个解决方案有一些问题:

    • 我需要所有6个文件吗?
    • 我相信.config文件与intellisense有关,但是项目将在没有它们的情况下构建和运行,对吗?
    • 除了watin.core.dll,我如何知道要包含哪些文件?该项目只使用watin.core.dll和interop.shdocvw.dll构建和运行。我该如何知道依赖关系是什么?

    任何见解都会受到赞赏。

    4 回复  |  直到 17 年前
        1
  •  4
  •   Martin Liversage    17 年前

    添加引用就是这样。它添加了一个引用,因此如果引用指向桌面文件夹,其他开发人员将无法看到这些文件。此外,如果删除这些文件,您的项目中将有悬空的引用。一般来说,不要引用桌面上的文件。

    在与您建议的项目相同的源代码管理树中创建lib文件夹是一个更好的解决方案。Visual Studio将引用存储为相对路径,使其他开发人员能够编译项目。

    您必须学习watin库的文档,以了解您的应用程序需要哪些文件。不应删除.config文件,因为它与IntelliSense无关。

        2
  •  1
  •   skyfoot    17 年前

    我将创建一个包含所有源文件、库文件、工具、文档、资源的开发树,这样任何开发人员都可以直接从源代码管理中获得工作项目,而无需搜索引用。

    在lib文件夹中引用dll意味着ProjectA可以使用dll的1.0版本,ProjectB可以使用dll的2.0版本。

    当解决方案构建时,它将从引用它们的地方获取DLL。如果找不到他们,这个项目就不会建设。

    看看下面的文章。

    http://www.codeplex.com/treesurgeon

    至于需要引用哪些DLL,您可以选择只引用所需的DLL。

        3
  •  1
  •   Les    17 年前

    watin需要watin.core.dll和interop.shdocvw.dll才能运行。正如其他人所建议的,最好在外部库的源代码管理树中有一个lib文件夹,这样每个人都可以使用相对引用。

    上面提到的treesurgeon是一个很好的工具,或者至少可以将它们的文件夹结构用作模型。

    如果将watin.core.xml文件与dll放在bin中,则该文件应提供IntelliSense。

        4
  •  0
  •   Hunter    17 年前

    我相信只有在直接从bin文件夹引用文件(剪切并粘贴到其中)时,才能删除该文件夹。如果您引用的是文件夹中的文件,我认为您需要将其保存在那里。

    如果引用的dll引用了其他dll中的类,则删除其他文件时可能会遇到问题。