2

我相信我完全理解两者之间的区别。

引用只是指向使用的某个程序集(无论是指定完整路径,还是在 GAC 中查找)。

ProjectReferences假定被引用项目与引用项目位于相同的 VS 解决方案中,并使用项目 GUID 来确定应引用哪个项目。

拥有ProjectReference的好处是 Visual Studio 可以检测依赖关系并在必要时重建它们(如果我引用项目 A 并且它没有构建,它将被重建)。此外,将采用引用的项目输出(基于当前活动配置等)。

这促使我们努力并采用“All ProjectReference”方法。

我的问题是这会导致包含许多依赖项项目的解决方案文件。如果依赖项本身有引用程序集,这些将作为 ProjectReferences 添加,强制它们由同一个 .sln 文件构建,而不是独立的。

我的问题是——在什么情况下应该毫无疑问地使用 ProjectReferences?在什么情况下应该绝对避免它们?(如果曾经)

4

2 回答 2

3

如果您正在对这些引用进行修改并需要重新编译,最好保留项目引用,但如果依赖项开发完成,请将其编译为发布,将它们注册到 GAC 并使用程序集引用来加快编译时间!

于 2012-07-24T14:04:26.367 回答
3

如果您正在为引用的项目开发代码,那么此时最好使用项目引用。但是,如果您购买第三方控件(例如 Telerik RadControls),您可能只会引用 DLL(参考)。

如果您不需要编译它,更改版本号等。只需使用参考。

此外,它不会每次都编译项目引用。仅当它看到代码已更改或导致其触发的其他一些事情(例如完全重建或它自己的引用中的某些更改)时。

于 2012-07-24T14:00:47.860 回答