下面,我创建的方法用于注册。
但我得到:
“regasm:警告 ra0000:没有类型未注册”
用于注销。
private static void ExecuteRegAsm(string comObjectPath, string typeLibraryName, string regAsmPathToExecute, string regAsmParameter = null)
{
var startInfo = new ProcessStartInfo
{
CreateNoWindow = false,
UseShellExecute = false,
FileName = regAsmPathToExecute,
WindowStyle = ProcessWindowStyle.Hidden
};
switch (regAsmParameter)
{
case null:
startInfo.Arguments = comObjectPath + " /tlb:" + typeLibraryName + " /Codebase";
break;
case "/u":
case "-u":
startInfo.Arguments = "/u " + comObjectPath;
break;
}
using (var exeProcess = Process.Start(startInfo))
{
if (exeProcess != null) exeProcess.WaitForExit();
}
}
如何解决这个问题?
我通过添加 /tlb: 属性和对象的类型库名称作为代码的值解决了这个问题。以下方法有效:
private static void ExecuteRegAsm(string comObjectPath, string typeLibraryName, string regAsmPathToExecute, string regAsmParameter = null)
{
var startInfo = new ProcessStartInfo
{
CreateNoWindow = false,
UseShellExecute = false,
FileName = regAsmPathToExecute,
WindowStyle = ProcessWindowStyle.Hidden
};
switch (regAsmParameter)
{
case null:
startInfo.Arguments = comObjectPath + " /tlb:" + typeLibraryName + " /Codebase";
break;
case "/u":
case "-u":
startInfo.Arguments = comObjectPath + " /tlb:" + typeLibraryName + " /u";
break;
}
using (var exeProcess = Process.Start(startInfo))
{
if (exeProcess != null)
{
exeProcess.WaitForExit();
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)