文件引用是对程序集的直接引用;可使用“添加引用”对话框的“浏览”选项卡创建这种引用。项目到项目的引用是对包含程序集的项目的引用;可使用“添加引用”对话框的“项目”选项卡创建这种引用。
项目到项目的引用的好处在于,它在生成系统中创建了项目之间的依赖项,因而如果从上次生成引用项目之后它发生了变化,就会生成依赖项目。文件引用则不创建生成依赖项,因此有可能生成了引用项目而没有生成依赖项目,于是引用会变得过时(即一个项目能引用该项目以前的生成版本)。这会导致在 bin 目录中要求提供单个 DLL 的几个版本,这是不可能的。发生此冲突时,您将看到诸如警告:不能将项目“project”中的依赖项“file”复制到运行目录,因为它将改写引用“file”。的消息。
应当避免添加对同一解决方案中另一个项目的输出的文件引用,因为这样做可能导致编译错误。而应使用“添加引用”对话框的“项目”选项卡在同一解决方案内部创建项目到项目的引用。这样就可以更好地管理在项目中创建的类库,从而更易于进行团队开发。