为了账号安全,请及时绑定邮箱和手机立即绑定

Microsoft.VisualBasic命名空间是否为“ true .NET”代码?

Microsoft.VisualBasic命名空间是否为“ true .NET”代码?

海绵宝宝撒 2019-11-04 09:44:49
我的开发团队正准备开始一个新项目。自VB3以来,该商店一直是“ VB商店”,但现在的主流观点是我们是“ .NET商店”,并且由于C#是专门为.NET创建的,而VB.NET是翻新的,因此我们已经决定只编写C#。争议围绕Microsoft.VisualBasic命名空间在新开发中是否应有合法地位,还是仅用于向后兼容VB6(和较旧)代码的问题。另一个更有趣的问题是,Microsoft.VisualBasic命名空间“下”的代码是否甚至是.NET代码,也是否真的是将旧的VB运行时仔细封装在.NET包装器中,从而使其实际上是COM互操作控件(与WinForms包装非.NET Win32窗口API的方式类似,但仅公开。更令人困惑的是,我们的开发团队有一位Microsoft咨询服务顾问,告诉我们Microsoft不再支持Visual Basic,包括Microsoft.VisualBasic命名空间下的VB运行时。我正在寻找的是链接(最好是无所不能的Microsoft资料)与文档的链接,这些文档肯定会以一种或另一种方式回答这个问题。我已经在Google上尝试了几种搜索排列方式,但并没有进一步深入到这个问题的底部。编辑:显然我没有说清楚我的问题。我不是问VB.NET是否是真正的.NET代码。我试图确定Microsoft.VisualBasic命名空间 “下” 是否是.NET代码,还是经过仔细打包并公开为.NET代码的旧VB6运行时。有人已经说过,命名空间的9/10只是将来自.NET中其他地方的代码包装起来。那其他的1/10呢?
查看完整描述

3 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

像FCL中的某些功能一样,某些Microsoft.VisualBasic命名空间代码是用托管代码编写的,其中一些包装了对非托管代码的调用。


当然,对vb6运行时没有任何依赖,当然也没有在引擎盖下悄悄安装vb6运行时。


您应该加载.NET Reflector并查看Microsoft.VisualBasic命名空间中的代码。


如果您想继续在C#中使用此命名空间中的功能,请继续这样做,但它并没有消失。某些代码可能会被标记为已弃用/过时,但是我希望在15年后,您仍然可以使用Microsoft.VisualBasic功能运行相同的应用程序而不会遇到任何麻烦。


更新:与使用.NET反射器一样,您现在可以查看/调试源Microsoft.VisualBasic命名空间/Microsoft.VisualBasic.DLL代码:


http://blogs.msdn.com/vbteam/archive/2008/01/19/source-code-of-visual-basic-runtime-has-been-released-to-public.aspx


抓取框架大量下载器,并在闲暇时仔细阅读代码:


http://www.codeplex.com/NetMassDownloader


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 407 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信