求助VB.NET如何调用C#语言写的类,急急急,在线等

克鲁格曼 2013-02-26 09:55:30
求助各位大神,昨天主管让我用VB语言把以前用C#语言的写的页面重新返工一下,但是主管写的一个Nas.cs类是用C#语言编写,我想问VB如何直接调用Nas.cs的类并且调用其中的方法呢?不能用生成.dll的方法,因为怕用户安装的.NETFramework 版本不兼容,请问有其他的方法吗?分不多,请教各位大神了,急,在线等
...全文
356 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Janlayn 2013-02-27
  • 打赏
  • 举报
回复
引用 6 楼 gxingmin 的回复:
引用 5 楼 xiaoid 的回复:不需要转换.也不需要生成dll. 在你的解决方案里, 添加已有项目(nas这个工程).在这个方案中的其他工程里引用这个nas就可以了. 用法和引用vb.net的是一样的. 没区别;. 这还叫不需要生成dll?不生成dll你怎么引用?
引用工程,所有工程都使用同一版本的.NETFramework ,只有这样才不需要转换直接用。 至于最后编译后含有一个Dll,不影响。 如果需要转换,推荐你使用“SharpDevelop”, 这是一个类似与VS的开发环境。里面包含一个可以转换语言的工具, 个人觉得比其他很多转换工具好用。
hztltgg 2013-02-27
  • 打赏
  • 举报
回复
引用 12 楼 wsw455680751 的回复:
引用 9 楼 hztltgg 的回复: 因为怕用户安装的.NETFramework 版本不兼容 ======= 这个问题不存在的,要不兼容,你的vb.net也不能运行了,要兼容,那vb.net和c#同一个版本编译的都同样兼容,唯一的缺点就是多一个dll文件。 要是反过来,你是有vb.net的Nas,要用c#去引用他,倒是有可能有麻烦,有可能Microsft.VisualBasic在一些……
这样是有问题,不过这和你说的vb还是c#有什么关系呢?你要兼容2.0,就把项目编译为2.0就可以了。你总不至于一定要把c#的nas编译为4.0,vb.net用2.0,然后去引用c#的4.0的nas吧?
hztltgg 2013-02-26
  • 打赏
  • 举报
回复
因为怕用户安装的.NETFramework 版本不兼容 ======= 这个问题不存在的,要不兼容,你的vb.net也不能运行了,要兼容,那vb.net和c#同一个版本编译的都同样兼容,唯一的缺点就是多一个dll文件。 要是反过来,你是有vb.net的Nas,要用c#去引用他,倒是有可能有麻烦,有可能Microsft.VisualBasic在一些精简的.net框架下不支持
  • 打赏
  • 举报
回复
先编译成dll,然后Reflector反编译为VB语言!
xiaoid 2013-02-26
  • 打赏
  • 举报
回复
引用的是工程. 经编译时还是要生成dll的. 你不想要这个dll,那就转换为vb代码.用ref这个工具.
gxingmin 2013-02-26
  • 打赏
  • 举报
回复
引用 5 楼 xiaoid 的回复:
不需要转换.也不需要生成dll. 在你的解决方案里, 添加已有项目(nas这个工程).在这个方案中的其他工程里引用这个nas就可以了. 用法和引用vb.net的是一样的. 没区别;.
这还叫不需要生成dll?不生成dll你怎么引用?
xiaoid 2013-02-26
  • 打赏
  • 举报
回复
不需要转换.也不需要生成dll. 在你的解决方案里, 添加已有项目(nas这个工程).在这个方案中的其他工程里引用这个nas就可以了. 用法和引用vb.net的是一样的. 没区别;.
csdn_风中雪狼 2013-02-26
  • 打赏
  • 举报
回复
可以不生成dll文件直接调用C#写的Nas.cs吗? ==》 那就把 nas.cs 类也一起转成 vb 的吧
gxingmin 2013-02-26
  • 打赏
  • 举报
回复
那你用工具转成vb.net的代码啊 网上有转换工具 csharp-to-vb
克鲁格曼 2013-02-26
  • 打赏
  • 举报
回复
引用 1 楼 gxingmin 的回复:
.NETFramework 版本不兼容? 你保证生成的dll的C#framework版本跟你vb.net的framework版本一致就可以了 同一个解决方案可以同时添加C#项目(dll)和VB.net项目
可以不生成dll文件直接调用C#写的Nas.cs吗?
gxingmin 2013-02-26
  • 打赏
  • 举报
回复
.NETFramework 版本不兼容? 你保证生成的dll的C#framework版本跟你vb.net的framework版本一致就可以了 同一个解决方案可以同时添加C#项目(dll)和VB.net项目
gxingmin 2013-02-26
  • 打赏
  • 举报
回复
引用 11 楼 wsw455680751 的回复:
引用 3 楼 gxingmin 的回复:那你用工具转成vb.net的代码啊 网上有转换工具 csharp-to-vb我用转化工具转了,不过转过来的代码有些地方不是正确的
不可能100%转过来,有少量错误需要手动改一下
  • 打赏
  • 举报
回复
引用 12 楼 wsw455680751 的回复:
引用 9 楼 hztltgg 的回复:因为怕用户安装的.NETFramework 版本不兼容 ======= 这个问题不存在的,要不兼容,你的vb.net也不能运行了,要兼容,那vb.net和c#同一个版本编译的都同样兼容,唯一的缺点就是多一个dll文件。 要是反过来,你是有vb.net的Nas,要用c#去引用他,倒是有可能有麻烦,有可能Microsft.Vis……
4.0版本开发的程序是无法在2.0上运行的。
克鲁格曼 2013-02-26
  • 打赏
  • 举报
回复
引用 9 楼 hztltgg 的回复:
因为怕用户安装的.NETFramework 版本不兼容 ======= 这个问题不存在的,要不兼容,你的vb.net也不能运行了,要兼容,那vb.net和c#同一个版本编译的都同样兼容,唯一的缺点就是多一个dll文件。 要是反过来,你是有vb.net的Nas,要用c#去引用他,倒是有可能有麻烦,有可能Microsft.VisualBasic在一些精简的.net框架下不支持
如果我用.NET 4.0 开发的,而用户安装的是2.0或者3.5那些老版本会不会有不能运行的情况啊?主管说有可能会出现点问题
克鲁格曼 2013-02-26
  • 打赏
  • 举报
回复
引用 3 楼 gxingmin 的回复:
那你用工具转成vb.net的代码啊 网上有转换工具 csharp-to-vb
我用转化工具转了,不过转过来的代码有些地方不是正确的
qdu123 2013-02-26
  • 打赏
  • 举报
回复
引用 8 楼 lifeilin6671 的回复:
先编译成dll,然后Reflector反编译为VB语言!
要这么费劲吗?直接找个代码转换器转就是了

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧