x86 时继承的控件未显示在 designerview 中
Inherited control not showing in designerview while x86
我正在 Visual Studio 2019 年创建一个 windows 应用程序。我使用的 COM 参考(IBM PCOMM v 13、32 位)仅在我将项目目标设置为 [=23 时有效=]x86.
当我将目标从 Any CPU 或 x64 更改为 x86 ,COM 参考非常有用。但是,我通过继承创建的所有控件都从设计器视图中消失了。表格基本上是空的。我自己的控件存储在项目中包含的单独的 .cs 文件中。
当我将目标改回 Any CPU 或 x64 时,我的控件重新出现,但 COM 引用不会'无法工作(因为不是 x86)。
这是我在表单中使用的一种更简单控件的 .cs 代码:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Whosebug
{
public class LabelTitle : Label
{
public LabelTitle()
{
ForeColor = Color.FromArgb(0, 95, 165);
Font = new Font("Segoe UI", 11, FontStyle.Bold);
}
}
}
值得注意的是,标准控件在 x86 中有效。但是,我更愿意使用我自己的自定义控件。
如何在 x86 中构建时继续使用自己的控件?
我终于找到了解决办法,虽然我不明白为什么这样可以解决问题。
尝试了评论中提供的解决方案,并在新项目中逐行添加和更改重现错误,发现是目标框架导致的错误。
第一个项目(抛出错误)使用模板 Windows Forms App 和 .NET 5.0 框架。但是,如果我改为使用模板 Windows Forms App (.NET Framework) 和框架 .NET 4.7.2 我所有继承的控件与 x86 完美配合。到目前为止,我所有的 COM 引用和我的控件都与 .NET 4.7.2 框架配合得很好。
我正在 Visual Studio 2019 年创建一个 windows 应用程序。我使用的 COM 参考(IBM PCOMM v 13、32 位)仅在我将项目目标设置为 [=23 时有效=]x86.
当我将目标从 Any CPU 或 x64 更改为 x86 ,COM 参考非常有用。但是,我通过继承创建的所有控件都从设计器视图中消失了。表格基本上是空的。我自己的控件存储在项目中包含的单独的 .cs 文件中。
当我将目标改回 Any CPU 或 x64 时,我的控件重新出现,但 COM 引用不会'无法工作(因为不是 x86)。
这是我在表单中使用的一种更简单控件的 .cs 代码:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Whosebug
{
public class LabelTitle : Label
{
public LabelTitle()
{
ForeColor = Color.FromArgb(0, 95, 165);
Font = new Font("Segoe UI", 11, FontStyle.Bold);
}
}
}
值得注意的是,标准控件在 x86 中有效。但是,我更愿意使用我自己的自定义控件。
如何在 x86 中构建时继续使用自己的控件?
我终于找到了解决办法,虽然我不明白为什么这样可以解决问题。
尝试了评论中提供的解决方案,并在新项目中逐行添加和更改重现错误,发现是目标框架导致的错误。
第一个项目(抛出错误)使用模板 Windows Forms App 和 .NET 5.0 框架。但是,如果我改为使用模板 Windows Forms App (.NET Framework) 和框架 .NET 4.7.2 我所有继承的控件与 x86 完美配合。到目前为止,我所有的 COM 引用和我的控件都与 .NET 4.7.2 框架配合得很好。