2010-06-15 96 views

回答

25

这不是什么选择。如果你有两个项目的解决方案,那么没有使用项目引用没有意义。如果你的解决方案没有这个项目,那么你使用程序集引用。

所以真正的问题可能应该是:我是否同时创建了两个项目的解决方案?是的,只要项目仍处于调试阶段并且需要修复错误。

+16

当你有几个解决方案时,它会更复杂。使用项目引用可以中断包含引用项目而不是引用项目的其他解决方案的构建。 Visual Studio然后静默解析(!)项目引用到bin/Debug中的dll文件引用,这是意外的,如果解决方案在Release中编译,则会中断。 – 2012-06-06 12:40:12

+0

您可以通过首先将父项目添加到您的解决方案来解决此问题,并且不要添加任何没有父项目(引用)项目的项目 – 2013-03-01 18:10:38

+1

只需添加 - 如果您在项目A上使用dll引用时单击“查找所有引用“对于来自项目B的方法,来自项目A的方法参考根本不会出现=配方错误 – BornToCode 2014-08-21 12:47:16

2

那么,当您在调试和发布模式下构建和测试时,项目引用都很有用。如果您直接添加一个DLL,那么您将被锁定到构建的那个特定的DLL中。项目参考允许这是一个构建时间的决定。

+0

这是正确的,你在说什么。同时它在使用.NET程序集时不会导致问题。它们包含稍后在目标机器上编译的IL代码。一个非常好的决定时间。 – 2013-07-22 07:46:31

16

如果你只有DLL,那么你坚持与DLL参考(显然)。

如果您有源代码,那么通常使用项目引用会更好。可能有些情况下,你有一个永远不会改变的实用程序库,但是如果你需要一个错误修复的机会,那么有一个项目引用将使调试更容易。

-3

相对于您的项目架构,您应该始终坚持问题域内的项目。您应该使用GAC,如果这适用于您的环境。

+5

GAC与Visual Studio项目文件中的项目引用vs dll引用有什么关系? – Abel 2014-09-16 18:34:33

0

摘要 - 工程引用的项目由VS DLL

参考由项目

  • 代码是可见
  • 查找所有引用例如一类(因为代码是可见的)
  • 更好地进行测试(所有)
  • 更好的代码重新设计(影响)由DLL

参考

  • 代码隐藏
  • 分离框架和项目(用于提供框架)
  • 更快的编译(因为DLL已经编译)