VB.NET还是比较常用的,于是我研究了一下VB.NET工程转换成,在这里拿出来和大家分享一下,希望对大家有用。
1.安装好任意能编译调试.net工程的工具,推荐两个免费的
a.SharpDevelop2,下载地址http://www.icsharpcode.net/OpenSource/SD/Download/
b.Visual Studio Express Editions,下载地址http://msdn.microsoft.com/vstudio/express/support/install/
2.保证.net1.1和.net2.0的runtime都安装了
a.net1.1 runtime下载地址http://www.microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=en
b.net2.0 runtime下载地址http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en
3.从http://www.vbconversions.net/download.html下载并安装vbtocs工具
4.用vbtocs转换:任何VB.NET工程转换前,请保证该工程是已经在本机编译通过的,这样会提高转换的准确性
5.打开转换好的c#工程编译,排错
6.下面是对AutoCAD ObjectARX 2007\samples\dotNet中的VB.NET工程转换成C#后的排错步骤——
a.修改工程文件中cad的两个assembly(acdbmgd.dll、acmgd.dll)的路径
b.取消掉所有类对audesk名字空间using的注释
c.根据需要手工添加assembly: ExtensionApplication和assembly: CommandClass属性
d.用Autodesk.AutoCAD.Runtime替换掉所有System.CLSCompliantAttribute.Autodesk.AutoCAD.Runtime或者System.Type.Autodesk.AutoCAD.Runtime
e.用Autodesk.AutoCAD.DatabaseServices.OpenMode替换掉所有的OpenMode
f.编译按照提示改错误,主要有——
◆进行强制类型装换
◆对vb的byref一定要在调用的地方加上ref
◆对于bt.Item(BlockTableRecord.ModelSpace)形式的集合元素引用要改为bt[BlockTableRecord.ModelSpace]
◆由Exit Try转化而来的break要用return替换
◆C#是大小写敏感的
◆对System.EventHandler类型要用正确的事件类型替换,这里,可以利用对应函数实现部分的参数。
例如:由PromptSelectionResultEventArgs得到PromptSelectionResultEventHandler
【编辑推荐】