我的开发团队正准备开始一个新项目.自VB3时代以来,该商店一直是一个"VB商店",但现在流行的观点是我们是一个".NET商店",因为C#是专为.NET创建的,而VB.NET是一个改造,我们我决定继续前进写C#.争议围绕的问题是Microsoft.VisualBasic命名空间是否在新开发中具有合法位置,或者它是否仅用于VB6(及更旧)代码的向后兼容性.另一个更有趣的问题是,Microsoft.VisualBasic命名空间下的代码是否是.NET代码,如果它真的是在.NET包装器中精心打包的旧VB运行时,使其实际上是一个COM互操作控件(类似于WinForms如何包装非.NET Win32窗口API但仅暴露.
为了使这更令人困惑,我们的开发团队有一位Microsoft咨询服务顾问告诉我们Microsoft不再支持Visual Basic,包括Microsoft.VisualBasic命名空间下的VB运行时.
我正在寻找的是链接 - 最好是无懈可击的微软来源 - 链接到最终以这种或那种方式回答这个问题的文档.我已经在Google上尝试了几种搜索排列,并且没有更接近这个问题的底部.
编辑:显然我没有说清楚我的问题.我不是在问VB.NET是否是真正的.NET代码.我正在尝试确定Microsoft.VisualBasic命名空间 "下" 是否为.NET代码,或者它是否是旧的VB6运行时,它是经过精心打包并作为.NET代码公开的.有人已经说过9/10的命名空间只是从.NET的其他地方包装代码; 那个1/10怎么样?
有什么办法,除了引用Microsoft.VisualBasic.dll(如下面的.NET 3中)以检索到计算机名称
new Microsoft.VisualBasic.Devices.ServerComputer().Name
Run Code Online (Sandbox Code Playgroud) Microsoft.VisualBasic程序集中有一个内置函数.我可以在VB中使用它,如下所示:
Financial.Pmt((dAPR / 100) / 12, iNumberOfPayments, dLoanAmount) * -1
Run Code Online (Sandbox Code Playgroud)
我目前的项目是在C#中,我需要使用此功能.网上的答案说只是添加命名空间和程序集并在C#中使用相同的 - 但这不是真的!C#仍然无法识别此公式.
那么如何在C#中使用Financial.Pmt(或者甚至可能将源代码移植到它)?谢谢你的帮助.