gpt4 book ai didi

.net - 找不到类型 'xxx.xxx.xxx' 。请确保装配

转载 作者:行者123 更新时间:2023-12-03 07:07:36 25 4
gpt4 key购买 nike

我搜索了 StackOverflow,并在尝试打开引用不同项目中的 UserControl 的表单时发现了类似的问题。

我明白

To prevent possible data loss before loading the designer, the following errors must be resolved:

与以下两个错误相关的消息:

Could not find type 'MyNamespace.CommonUi.InformationBox'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built using settings for your current platform or Any CPU.

并且

The variable 'InformationBox1' is either undeclared or was never assigned.

InformationBox1 是设计器中表单上的用户控件 InformationBox 的实例 - 它只是被引用为;

Friend WithEvents InformationBox1 As MyNamespace.CommonUi.InformationBox

MyNamespace.CommonUi 项目构建成功。

我在项目中获得了智能感知,因此我有理由相信它被正确引用。

到目前为止,与其他人一样:

这是一个已从 VS2005 中的 .NET2/x86 迁移到 VS2012 中的 .NET4/x64 的项目。

现在,当解决方案在 64 位下运行时,它不起作用,并且我收到此设计器错误。但是,如果我将其切换到 32 位(技术上是 AnyCPU),我就可以很好地打开设计器。

我已经阅读了类似线程中的其他建议,但他们没有看到提供任何解决方案(我什至已经选择了“向左和向右移动以使其重建”选项)

最佳答案

快速修复:我认为问题在于 Visual Studio 是 natively 32bit并且无法对 64 位的某些组件(例如 ListView)进行 GUI 编辑。例如。在有ListView的表单上,您需要将解决方案更改为32位才能编辑GUI。

所以简而言之,当您遇到这个问题时,答案是:

  1. 将解决方案更改为 32 位或 AnyCPU
  2. 清理并重建解决方案/项目
  3. 打开 GUI 进行编辑
  4. 保存,将解决方案更改回 64 位
  5. 清理并重建
  6. 以 64 位运行

不幸的是 Visual Studio doesn't come in 64bit目前为止,所有控件都需要设计为32位模式(或AnyCPU模式)。

请参阅此问题以供引用。 VS 2010 designer error 'Could not find type XYZ' in Windows7. Works fine in XP

更新修复:我终于找到了正确的解决方案来解决使用 VS GUI 设计编辑器在 64 位环境中加载和编辑自定义/32 位控件的问题。请注意,这适用于 Visual Studio 2019,设计的编辑器的架构在 VS 2022 中已更改,因此我不确定这是否仍然适用。

本质上,Visual Studio Design 编辑器会发生一些问题,导致您无法在 64 位设计环境中编辑自定义/32 位控件。

  1. 您会注意到,当您在 64 位目标环境中加载任何表单时,您的自定义/32 位控件不会显示在设计器工具箱中。这是问题根源的一部分;因为您的控件没有显示在工具箱中,所以当 VS 尝试加载使用该控件(或扩展该控件的类)的表单时,它会抛出错误,可能找不到类型“xxx.xxx.xxx”(在工具箱中,这是它未指定的部分)
  2. 控件未显示在工具箱中的原因之一是 Visual Studio将自定义控件从当前项目加载到工具箱中(或者自动或即使您 manually try 强制它)。因此,如果您的自定义 32 位控件位于当前项目中,工具箱将不会注册它,因此编辑器将无法加载表单。 See reference

此处的解决方案是在同一解决方案中创建一个新项目,并将自定义/32 位控件移动到该新项目中的命名空间中。现在,Visual Studio 将能够查看控件并将其加载到工具箱中。这应该会自动发生,您可以选择添加属性 [ToolboxBitmapAttribute(true)]自定义控件上的公共(public)类定义。一旦您的自定义控件出现在工具箱中,Visual Studio 设计编辑器应该可以毫无问题地找到程序集并加载您的表单,并允许您在 64 位设计环境中编辑自定义 32 位控件。

关于.net - 找不到类型 'xxx.xxx.xxx' 。请确保装配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19009386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com