RegAsm取消注册问题

下面,我创建的方法正在注册。 但我得到:“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:attribute和对象的类型库名称作为代码的值来解决了这个问题。 下面的方法是有效的:

  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(); } } }