gpt4 book ai didi

c# - .net activex 在框架 4.0 中不工作

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:12 26 4
gpt4 key购买 nike

我有 .net 用户控件,我在 asp.net 页面中将其显示为对象。如果用户控件的 dll 的目标框架是 3.5 - 一切正常。如果我将其更改为 .net 4.0 - activex 不可见。

用户控件非常简单。它只是一个按钮和一个标签:

[ComVisible(true)]
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
label1.Text = "0";
}
private void button1_Click(object sender, EventArgs e)
{
label1.Text = Convert.ToInt32(label1.Text) + 1 + "";
}
}

这是html代码:

<object id="myControl2" name="myControl2"
classid="http:ClassLibrary1.dll#ClassLibrary1.UserControl1"
width="300" height="350" />
</asp:Content>

为什么它不起作用?

最佳答案

IE 中的托管控件现在默认被阻止(从 v4 或 v4.5 开始)。参见 MSDN article在“Web 应用程序”下。

幸运的是,使用这些注册码重新启用该功能非常容易:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
"EnableIEHosting"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework]
"EnableIEHosting"=dword:00000001

x64 key 是为我修复它的 key ,使用为 x32 编译的 .Net v3.5 SP1 控件在 Win7 (x64) 上运行 IE8 (x32)。

关于c# - .net activex 在框架 4.0 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701802/

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