在Visual Studio解决scheme文件夹中存储引用的Dll

我想有一个库文件夹,存储我所有的DLL。 我现在正在做的是这里所build议的。 有物理文件夹,创build解决scheme文件夹,复制文件。

如果我使用SVN,我将不得不在文件资源pipe理器上使用龟来添加库。 不知道我是否必须在TFS中做同样的事情。

在2010年,有没有更简单的方法来做到这一点? 我希望能够将一个DLL拖入Visual Studio中的库文件夹,并将其物理放在该文件夹中。

这是我如何做到的。 不知道是否有其他更好的方法:

  1. 在解决scheme资源pipe理器中右键单击您的解决scheme。 将鼠标hover在“添加”上,然后select“新build解决scheme文件夹”。 这不是一个真正的文件夹,并不指向任何物理文件夹。 这是一个在解决scheme中对项目进行分组的抽象构造,但是我们会用它来做其他的事情。
  2. 称之为“引用的程序集”。
  3. 接下来,再次右键单击您的解决scheme,然后单击“在Windows资源pipe理器中打开文件夹”。 在popup的窗口资源pipe理器窗口中添加一个新的“物理文件夹”(这将位于解决scheme的根文件夹的正下方)。
  4. 您可以将其称为“引用的程序集”,以便解决scheme文件夹和物理文件夹共享相同的名称,以避免混淆。
  5. 抓住所有那些潜伏在任何地方的DLL(即埋在程序文件中的AjaxControlToolkit.dllDocumentFormat.OpenXml.dll )并将它们复制(不要拖动 – 保留原始位置)到Windows资源pipe理器的“引用程序集”文件夹中不在解决scheme中)。
  6. 现在,您可以将这些复制的dll从Windows资源pipe理器中的“引用程序集”物理文件夹拖放到Visual Studio解决scheme资源pipe理器中的“引用的程序集”解决scheme文件夹中。
  7. 浏览解决scheme中的每个项目,并从“引用的程序集”文件夹中删除对将要引用的程序集的所有引用。
  8. 重新添加引用,但这一次(在项目下)右键单击“引用”,单击“添加引用…”,select“浏览”选项卡,点击带有绿色箭头的文件夹图标一个级别“时,双击”引用程序集“文件夹,select所有你想参考的DLL,然后单击”确定“。

你完成了。 现在你的解决scheme知道这些DLL和在哪里可以find它们,当你检查你的代码(通过SVN,TFS,或其他),它将推动它们并将其复制下来供其他人使用。

如果您使用的是TortiseSVN,如果您还使用Visual Studio的AnkhSVN插件 ,则无需执行任何操作。 它研究你的解决scheme文件(就像TFS一样)来查找解决scheme引用的文件。 在这种情况下,它会select由“引用程序集”解决scheme文件夹引用的新dll,并在提交它们之前自动添加源代码pipe理跟踪(即,如果您从Visual Studio中的解决scheme资源pipe理器像我一样提交解决scheme更改)。

希望这可以帮助。