我用c#开发了一个水印控件,实际文件是 abc.dll ,我不用打包方式,而是直接用 regasm 注册 abc.dll ,不管是在本机,或者其它电脑,都使用管理员权限进行注册,提示也注册成功了,但在打开网页时,开发 .net 控件的本机,可以成功调用 abc.dll 中签名的方法,但在其它电脑中,都不能成功调用,提示”错误名称:TypeError;错误信息:对象不支持"saveFolderDialog"属性或方法。“,但如果在其它电脑上也安装visual studio ,然后对这个控件也进行一下编译,那么,这一台电脑也会可以成功调用方法。
声明:我已经把网站添加到信任,并且也在 IIS 下全部开放了activex的调用权限。其它第三方的ocx也是正常可以调用的。简要的说,就是在其它电脑上要使用这个控件,一定要安装visual studio,然后对这个控件进行编译才可以使用。请问有什么解决方法?
声明:我已经把网站添加到信任,并且也在 IIS 下全部开放了activex的调用权限。其它第三方的ocx也是正常可以调用的。简要的说,就是在其它电脑上要使用这个控件,一定要安装visual studio,然后对这个控件进行编译才可以使用。请问有什么解决方法?
我在测试中,使用下面的语句时,是所有电脑打开网页都可以实现打开对话框的
var Message = "\u8bf7\u9009\u62e9\u6587\u4ef6\u5939"; //选择框提示信息
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //起始目录为:我的电脑但我在 dll 中写了下面的方法时,该 dll 能在编译dll本机用 obj.openFolderDialog() 打开目录窗口,在其它电脑即使注册成功,也不通用 obj.openFolderDialog() 打开目录窗口。
public void openFolderDialog()
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowNewFolderButton = false;
fbd.SelectedPath = "C:\\";
if (fbd.ShowDialog() == DialogResult.OK)
{
if (Directory.Exists(fbd.SelectedPath))
{
root = fbd.SelectedPath;
}
}
}