为什么如果你的解决方案中有一个类库,引用它以便VS2012识别其中的类的唯一方法是进入引用并从项目选项卡中选择类。为什么不能单独编译类库并使用生成的.dll并通过浏览选项卡添加它,注意:我仍然认为类库仍然作为解决方案中的单独项目存在。
答案 0 :(得分:2)
你可以。引用编译版本而不是项目并没有多大意义,但你可以。添加对项目的引用时,单击对话框左侧的"Browse"
和/或对话框底部的"Browse"
按钮。这将允许您浏览到DLL文件并将其添加为参考。
答案 1 :(得分:1)
您可以编译项目并按照您所说的
引用已编译的dll<强>然而强>: 引用项目dll将引用特定配置,因此您可能正在引用调试编译的dll,但在使用发布配置发布解决方案时,您不希望这样做。 引用dll意味着您需要在源代码管理中包含bin文件夹,这也不是最佳实践,因为在编译解决方案时应该创建它。
引用项目是最佳实践,这意味着当您构建不同的配置时,所有项目都将编译为该配置。
答案 2 :(得分:1)
不仅有Projects和Dll方式,还有一个使用System.Reflections
称为“动态加载”。你也可以在运行时选择所需的dll并使用它的类和成员
添加项目作为参考的好处是,现在无论您对成功编译引用项目或整个解决方案的更改是什么,都会自动引用所调用的类。
引用dll - 如果您正在考虑所有项目中的一些常用方法,并且现有实用程序dll中不需要进行任何更改,那么编译为dll并将其作为dll引用是最好的选择。另请注意,如果您使用dll作为参考,则每次更改类库项目中的代码时都需要编译和引用。
如果在网上使用Reflections,它会让你有权使用你的dll,加载什么dll以及不加载什么dll,但它会比上面的两个更加乏味。