使用 infragistics DLL 的本地副本与 GAC 中的副本

Using local copy of an infragistics DLL vs the copy in the GAC

我们使用基础设施库已经很长时间了。但是现在我们运行遇到了一个问题,这里已经解决了Cannot select Infragistics controls in winform designer

我现在更具体的问题是,为什么这个问题没有出现在我们所有同事的电脑上,而只出现在我的电脑上?我们有相同的 visual studio 解决方案,所有源代码都来自颠覆存储库。

我们决定将 infragistics dll 的副本放入项目中的 controls 目录中,这样我们稍后可以通过将文件复制并粘贴到目标目录中来非常轻松地部署它(但我们仍然需要一个设置工具第一次安装)。

我们如何确保满足以下要求(有用与否)?

也许我们错过了一些重要的事情?

[编辑#1]:

为了澄清事情,因为我知道出了什么问题(请参阅上面的 link)以及可能的解决方案是什么,我需要一些好的论据来支持或反对在我们的实践中不使用控制目录更新时无需设置即可部署应用程序。我们需要让我们的客户无需设置即可更新我们的应用程序,因为在他的工厂中,他需要同时更新几台计算机,如果他能够在不需要设置的情况下做到这一点,那将会更多与设置方式相比具有成本效益。

这是我的两分钱:

  • 尝试将所有 Infragistics 库 Copy Local 属性 设置为 True。 这将在每次构建时将 dll 复制到 bin 文件夹 应用。这可以解决您遇到的问题 通过复制&粘贴更新应用程序;
  • 每个开发人员最好将这些库安装到 GAC 中。我想你们所有人都在使用这些库的相同版本。 否则,那将是真正的混乱。如果出于某种原因,您没有使用相同的版本,请尝试将每个 Infragistics dll 特定版本设置为 False
  • 如果所有控件都出现在组件尝试中(在设计器中),这清楚地表明 Designer.dll 已损坏或未找到。因此,将 dll 安装到 GAC 中始终是个好主意 - 这也应该在其中添加 Infragistics Designer dll,并且您不应该遇到这个问题。

因此,将所有内容都安装到 GAC 中,将“复制本地”设置为 true,将“特定版本”设置为 false。

此外,每当您需要升级包含 Infragistics 库的项目时,都可以使用他们的好工具 Version Utility - 这可以节省您很多精力