使用infragistics DLL的本地副本与GAC

时间:2016-08-02 10:56:00

标签: c# dll infragistics gac

我们现在正在使用infragistics库很长一段时间。但是现在我们遇到了一个问题,这个问题已经解决了Cannot select Infragistics controls in winform designer

我现在更具体的问题是,为什么这个问题不会出现在我们所有的同事计算机上,而只出现在我的计算机上?我们有相同的visual studio解决方案,所有源代码都来自subversion存储库。

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

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

  • 仍然可以通过复制和粘贴来更新应用程序。
  • developper通过将它们复制到controls目录(然后将其复制到应用程序可执行文件目录中)来跟踪所需的infragistic dll。
  • 来自上述链接的问题不会发生

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

  • 通过简单地将较新的文件复制到应用程序目录来更新应用程序是不好的做法吗?或者甚至在某种程度上“非法”?
  • 是否可以通过setup或msi安装程序安装 的infragistics工具?或者复制它们是否足够?

[编辑#1]:

澄清事情,因为我知道哪里出错了(参见上面的链接)以及可能的解决方案是什么,我需要一些好的论据支持或反对不使用controls目录关于我们在没有设置的情况下部署应用程序的做法什么时候更新。我们需要让我们的客户能够在没有设置的情况下更新我们的应用程序,因为在他的工厂他需要一次更新几台计算机,如果他能够在不需要设置的情况下完成这项工作,那么它将更多与安装方式相比具有成本效益。

1 个答案:

答案 0 :(得分:1)

这是我的两分钱:

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

因此,将所有内容安装到GAC中,将Copy Local设置为true并将Specific Version设置为false。

此外,每当您需要升级包含Infragistics库的项目时,请使用他们漂亮的工具Version Utility - 这可以为您节省很多工作