使用 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 目录中,这样我们稍后可以通过将文件复制并粘贴到目标目录中来非常轻松地部署它(但我们仍然需要一个设置工具第一次安装)。
我们如何确保满足以下要求(有用与否)?
- 仍然可以通过复制和粘贴更新应用程序。
- developper 通过将所需的 infragistic dll 复制到控件目录(然后复制到应用程序可执行目录)来跟踪它们。
- 上面link的问题没有出现
也许我们错过了一些重要的事情?
- 通过简单地将较新的文件复制到应用程序目录来更新应用程序是否是一种不好的做法?或者在某种程度上什至 "illegal"?
- 基础设施工具需要通过安装程序或 msi 安装程序安装吗?还是复制它们就足够了?
[编辑#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 - 这可以节省您很多精力
我们使用基础设施库已经很长时间了。但是现在我们运行遇到了一个问题,这里已经解决了Cannot select Infragistics controls in winform designer。
我现在更具体的问题是,为什么这个问题没有出现在我们所有同事的电脑上,而只出现在我的电脑上?我们有相同的 visual studio 解决方案,所有源代码都来自颠覆存储库。
我们决定将 infragistics dll 的副本放入项目中的 controls 目录中,这样我们稍后可以通过将文件复制并粘贴到目标目录中来非常轻松地部署它(但我们仍然需要一个设置工具第一次安装)。
我们如何确保满足以下要求(有用与否)?
- 仍然可以通过复制和粘贴更新应用程序。
- developper 通过将所需的 infragistic dll 复制到控件目录(然后复制到应用程序可执行目录)来跟踪它们。
- 上面link的问题没有出现
也许我们错过了一些重要的事情?
- 通过简单地将较新的文件复制到应用程序目录来更新应用程序是否是一种不好的做法?或者在某种程度上什至 "illegal"?
- 基础设施工具需要通过安装程序或 msi 安装程序安装吗?还是复制它们就足够了?
[编辑#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 - 这可以节省您很多精力