如何从vbscript调用c#dll
本文关键字:调用 c#dll vbscript | 更新日期: 2023-09-27 18:20:37
嗨,我正在创建一个带有以下代码的c#dll
使用系统;使用System.Collections.Generic;使用System.Text;使用System.Diagnostics;使用System.IO;使用System.Runtime.InteropServices;命名空间映像导出{[ComVisible(true)]公共类ExportImage{[ComVisible(true)]public void exportPNG(字符串pDirectory、字符串svgFileName、字符串outputFileName){字符串参数=pDirectory+"res''''include''''highcharts-convert.js-infile"+pDirectory+"res''''graphics''''"+svgFileName+"-offile"+pDirectory="res''''graph ''''"+outputFileName+"-scale 2.5-width 1088";/*使用(StreamWriter writer=新StreamWriter("c:''''debug.txt",true)){作家WriteLine("pDirectory="+pDirectory);作家WriteLine("arguments="+arguments);}*/进程p=新进程();p.StartInfo.UseShellExecute=false;p.StartInfo.RedirectStandardOutput=false;p.StartInfo.FileName=pDirectory+"res''''bin''''phantomjs.exe";p.StartInfo.Arguments=参数;p.开始();p.等待退出();}}}
对于创建dll,我在VS2005中进行如下配置
应用程序程序集名称->图像导出默认命名空间->图像导出outputype=>类库启动对象->(未设置)程序集信息:a) 程序集版本->1 0 0 0b) 文件版本->1 0 0 0c) 使Assembly Com可见->选中Build配置->活动(调试)平台->活动(任何CPU)概述:a) 条件编译符号->空白b) 定义调试常量->已选中c) 定义跟踪常数->已选中d) 平台目标->任何CPUe) 允许不安全代码->未检查f) 优化代码->未选中g) 警告槽->4h) 晚餐警告->空白i) 处理警告错误->无
现在,在这之后,我用regasm的.net 2.0注册了imageexport.dll
现在,当我查看注册表时,在HKEY_CLASSES_ROOT下我发现了imageexport。ExportImage
现在在vbscript中,下面的代码用于创建对象并调用函数
Dim objSet obj=CreateObject("imageexport.ExportImage")obj.exportPNG rvPAWZDirectoryPath&"''","SVGData_"&Session("export_time")&".svg","export_"&export_time&".png"
但这在VBSCript中的createObject行给出了名为"未知异常"的异常。请告诉我的问题在哪里
我认为您应该将您的Dll注册为:
C:'Windows'Microsoft.NET'Framework64'v4.0.30319>regasm yourDllPath /codebase
现在您可以创建Dll的对象。