【问题标题】:Cannot select Infragistics controls in WinForms designer无法在 WinForms 设计器中选择 Infragistics 控件
【发布时间】:2013-04-25 14:30:12
【问题描述】:

我刚刚将一个项目的 Infragistics 控件从 2006 年升级到 2011 年。

现在,如果我打开包含任何 Infragistics 控件的表单的设计器,Infragistics 控件将出现在表单设计器下方的单独面板中,并且我无法在设计视图中选择它们的对应项。

如果我在设计器中单击 Infragistics 控件,它会改为选择容器控件。

但是,如果我单击下方面板中的控件,我仍然可以编辑属性,并且 Visual Studio 将其识别为 UltraCombo。此外,所有控件仍然出现在工具箱中,但如果我尝试向表单添加一个新控件,它会转到下方面板。

我的同事在他的计算机上安装了新版本的 Infragistics,并从源代码管理中获得了我的最新更改,但他没有遇到此问题。

我的问题听起来与Strange Design Problems With Infragistics Controls 这个问题类似,但是不再提供 OP 参考资料。

【问题讨论】:

    标签: winforms visual-studio-2010 infragistics


    【解决方案1】:

    回答我自己的问题,因为我在将问题提交给 SO 之前修复了它。

    简而言之,就是我的项目引用...

    我决定查看我在另一个问题中提到的项目参考资料。我指的是不在 GAC 中的 DLL 副本。我将引用更改为指向 GAC,一切都很好。

    我指向非 GAC DLL 的原因是:我喜欢将 DLL 保存在源代码控制的“lib”文件夹中,该文件夹与项目的文件夹结构相同。这样,其他开发人员可以获取最新的,并且他们拥有项目所需的所有正确版本的 DLL,而不必担心安装它们只是为了进行次要构建。显然,Infragistics 库不喜欢这样。我的猜测是它与许可有关。奇怪的是,我的电脑获得了许可,但非 GAC DLL 不起作用。

    【讨论】:

    • 如果您引用的版本与 GAC 中的版本不同,则可能会导致此问题,因为 GAC 中 NetAdvantage 控件的设计者与您的工具集版本不匹配正在引用。
    • 我在 GAC 中有多个版本(并非我们所有的项目都已更新)。我引用的版本在 GAC 中。我还将 DLL 复制到我的“lib”文件夹中,并且我正在引用它们。老实说,我很乐意摆脱 Infragistics。
    • 您的 GAC 中的所有版本是否也具有 GAC 中的设计程序集?
    【解决方案2】:

    由于某些许可限制,您的项目引用的所有 Infragistics dll 似乎都需要来自 Infragistics 安装文件夹。

    由于我使用的是 2019.2 版本,因此文件夹为:

    C:\Program Files (x86)\Infragistics\2019.2\Windows Forms\CLR4.0\Bin

    让它为你工作:

    1. 确保您已安装:
    • Infragistics_WinForms_20192.msi
    • Infragistics_VersionUtility_20192.msi
    1. 运行 Infragistic 版本实用程序,选择您的解决方案,然后运行该工具(确保您已从解决方案文件夹中的所有文件中删除 ReadOnly 属性,否则您会遇到一些问题)

    你就完成了。现在可以选择和编辑所有控件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 2011-03-01
      相关资源
      最近更新 更多