Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# visual basic到c的遗留代码_C#_.net_Vb.net - Fatal编程技术网

C# visual basic到c的遗留代码

C# visual basic到c的遗留代码,c#,.net,vb.net,C#,.net,Vb.net,我正在构建一个c应用程序,旨在复制和增强多年前开发的VB6应用程序的功能。 我的问题是,旧应用程序中的一个模块做了一些非常复杂的事情,试图从规范开始复制这一点对我来说是一个巨大的痛苦。即使这听起来是最好的主意 我的问题是:有没有办法保留旧的VB模块并将其集成到c应用程序中,这样我就不必重写所有内容 谢谢 是的。您可以将模块转换为COM对象,而.Net将很高兴地调用COM对象。根据您现在拥有的内容,您可能需要找到Visual Studio 6的副本才能实现这一点。如果您有订阅,它仍然可以在MSDN

我正在构建一个c应用程序,旨在复制和增强多年前开发的VB6应用程序的功能。 我的问题是,旧应用程序中的一个模块做了一些非常复杂的事情,试图从规范开始复制这一点对我来说是一个巨大的痛苦。即使这听起来是最好的主意

我的问题是:有没有办法保留旧的VB模块并将其集成到c应用程序中,这样我就不必重写所有内容


谢谢

是的。您可以将模块转换为COM对象,而.Net将很高兴地调用COM对象。根据您现在拥有的内容,您可能需要找到Visual Studio 6的副本才能实现这一点。如果您有订阅,它仍然可以在MSDN上使用。为了给您提供更准确的说明,我们需要查看您的更多代码。

是。您可以将模块转换为COM对象,而.Net将很高兴地调用COM对象。根据您现在拥有的内容,您可能需要找到Visual Studio 6的副本才能实现这一点。如果您有订阅,它仍然可以在MSDN上使用。为了给您提供更准确的说明,我们需要查看更多的代码。

您可以使用COM或将模块导出为DLL。以下是一些有关的信息。

您可以使用COM或将模块导出为DLL。这里有一些信息供您参考。

理论上是的,将其转换为com模块,并从c代码中调用它。这是否会更容易,我不确定


问题是这个问题不会消失,如果模块或接口需要更改,那么必须有人来做。所以实际是的,但是要仔细考虑你在做什么。在理论上,

是的,把它变成一个COM模块,并从C代码中调用它。这是否会更容易,我不确定


问题是这个问题不会消失,如果模块或接口需要更改,那么必须有人来做。所以实际是的,但是仔细考虑你正在做什么。< /P> < P>你可以将现有的VB代码迁移到VB.NET中,并将其编译为单独的程序集并将其添加到C应用程序中。p> 您可以将现有的vb代码迁移到vb.net,并将其作为单独的程序集进行编译,然后将其添加到C应用程序中

Visual Studio有一个向导,允许您将VB6转换为VB.NET,然后可以在C项目中引用并使用它。但是,此迁移工具不再随Visual Studio 2010一起提供—它是在较旧的版本中提供的—尽管通常需要进行大量的手动修补工作,但您最好还是手动重写它,这样可以生成更高质量的代码。我给你的建议是重写代码,你可以进行润色,确保它正常工作,而不必走COM/Interop路线,但也不一定要避开这个选项。如果重写所有代码确实是一个问题,那么interop就是一个解决方案。

Visual Studio有一个向导,允许您将VB6转换为VB.NET,然后您可以在C项目中引用并使用它。但是,此迁移工具不再随Visual Studio 2010一起提供—它是在较旧的版本中提供的—尽管通常需要进行大量的手动修补工作,但您最好还是手动重写它,这样可以生成更高质量的代码。我给你的建议是重写代码,你可以进行润色,确保它正常工作,而不必走COM/Interop路线,但也不一定要避开这个选项。如果重写所有代码确实是一个问题,那么interop就是一个解决方案。

VS2010-2008不能在同一个解决方案中同时支持VB和C项目吗?如果我没弄错的话,他们可以。因此,您实际上可以将VB6代码转换为VB.Net,并在解决方案中使用C语言编写项目

VS2010-2008不能在同一个解决方案中同时支持VB和C项目吗?如果我没弄错的话,他们可以。因此,您实际上可以将VB6代码转换为VB.Net,并在解决方案中使用C语言编写项目

旧VB模块是DLL的一部分吗?如果不是,您能否将其隔离并编译为DLL?旧VB模块是DLL的一部分吗?如果不是,您能否将其隔离并编译为DLL?