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

我的开发团队正准备开始一个新项目。自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呢?


海绵宝宝撒
浏览 408回答 3
3回答

慕少森

像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
打开App,查看更多内容
随时随地看视频慕课网APP