12

有人向我解释使用可移植类库而不是使用“添加为链接”有什么好处吗?

谢谢

4

1 回答 1

27

链接文件的缺点:

  • 添加为链接可能很难维护,尤其是当您扩展到多个项目和许多源文件时。工具(例如 Visual Studio 2010 的项目链接器,或在 Visual Studio 2012 中拖动时按住 ALT)可以使这更容易。
  • 重构工具不适用于链接文件。例如,如果您重命名链接文件中的类或方法,重构工具不会更新对该 API 的其他链接副本的引用。
  • 在链接文件中编辑代码时,智能感知可能会向您显示并非在文件链接到的所有平台上都可用的 API。
  • 当您尝试打开已由另一个项目打开的链接文件时,Visual Studio 会给您一个消息框,显示“此文档已由另一个项目打开”。
  • 您最终会为每个平台创建一个单独的 DLL。如果您正在创建一个希望与他人共享的可重用库,那么如果它只有一个版本,而不是每个平台都有一个单独的版本,那么分发可能会更容易。

可移植类库的缺点:

  • 您仅限于在您定位的所有平台上可用的 API。您不能使用条件编译(#if语句)来解决平台之间的差异
  • 很难弄清楚给定的平台组合支持哪些 API。这是一个可以帮助解决此问题的电子表格:Portable Class Library API List

有关如何利用可移植类库的一些指导,请参阅以下内容:

虽然我偏爱 Portable Class Libraries(作为 PCL 团队的成员),但链接文件也是一种完全有效的代码共享方式,如果您不遇到或不介意这些缺点,那么请继续使用链接的源文件。我主要使用可移植类库,但当 PCL 不适合时,我仍然使用链接源文件。

于 2012-12-10T20:27:43.007 回答