作者:朱金灿

       在电脑上装有VS 2008和VS 2010.使用VS 2010编写了一个C# com组件:MyCom(基于.net framework4.0),然后使用VS 2008的命令提示工具运行命令:regasm MyCom,结果提示错误:RegAsm:error RA0000,“MyCOM”不是有效的.net程序集。开始百思不得其解。后来才醒悟到VS 2008的命令提示工具运行的regasm.exe是vs2008版本,它可能注册不了基于.net framework4.0的C# com组件。后来发现确实是这样的。如果一台机子上装有VS 2008和VS 2010,那么它就有两个版本的regasm.exe,分别存放的位置是C:\Windows\Microsoft.NET\Framework\v2.0.50727和C:\Windows\Microsoft.NET\Framework\v4.0.30319.使用VS 2010版本的regasm能注册vs2008编写的C# com组件,但是使用vs2008版本的regasm不能注册基于.net framework4.0的C# com组件。