Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.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+;使用VB.NET类库的最佳方法+;动态链接库? 我需要在C++项目中使用我的VB.NET项目之一。这两个接口之间的接口将用于C++代码实例化并调用.NET程序集对象之一。 编译到DLL(然后将C++ DLL作为VDD从NTVDM加载,但这可能不相关)_.net_C++_Vb.net_Dll_Ntvdm - Fatal编程技术网

从C+;使用VB.NET类库的最佳方法+;动态链接库? 我需要在C++项目中使用我的VB.NET项目之一。这两个接口之间的接口将用于C++代码实例化并调用.NET程序集对象之一。 编译到DLL(然后将C++ DLL作为VDD从NTVDM加载,但这可能不相关)

从C+;使用VB.NET类库的最佳方法+;动态链接库? 我需要在C++项目中使用我的VB.NET项目之一。这两个接口之间的接口将用于C++代码实例化并调用.NET程序集对象之一。 编译到DLL(然后将C++ DLL作为VDD从NTVDM加载,但这可能不相关),.net,c++,vb.net,dll,ntvdm,.net,C++,Vb.net,Dll,Ntvdm,如果可能的话,我希望避免使用COM进行此操作,因为我需要在不接触注册表的情况下进行部署。此外,我使用Visual Studio 2008 Express版本C++和VB.NET ./P> 请问,最好的方法是什么?如果你不想使用COM,我也不怪你,我只想创建一个Web服务,并通过它公开你的功能。它易于访问C++中的Web服务,易于在VB.NET ./P>中公开。 (更新) 是一个链接,它讨论如何在没有iS/< P> < P>的情况下公开Web服务,你真的需要本地C++吗?或者你可以使用C++ +C

如果可能的话,我希望避免使用COM进行此操作,因为我需要在不接触注册表的情况下进行部署。此外,我使用Visual Studio 2008 Express版本C++和VB.NET ./P>
请问,最好的方法是什么?

如果你不想使用COM,我也不怪你,我只想创建一个Web服务,并通过它公开你的功能。它易于访问C++中的Web服务,易于在VB.NET ./P>中公开。 (更新)


是一个链接,它讨论如何在没有iS/< P> < P>的情况下公开Web服务,你真的需要本地C++吗?或者你可以使用C++ +CLI? 如果您可以在C++/CLI中完成这一切,那么最终将得到一个纯.NET应用程序

如果您需要“原生”C++,那么您可以直接从VisualStudio(包含C++调用的C++ + CLI调用到VB.NET)创建一个包含托管和非托管C++的程序集。 而且,如果您更愿意将整批产品放在一个组件中,您可以按照以下说明操作。它也应该适用于VB.NET


我强烈推荐Heege(1-59059-756-7)的“Expert C++/CLI”

谢谢这是一个有趣的想法,但不幸的是,我不能在这个例子中使用它,因为VB.NET库有副作用(作为当前用户进行身份验证,并以当前用户身份编写文件)这要求它与程序的其余部分在同一台机器上运行。您仍然可以在同一台机器上运行它。只需将它暴露在该机器上的C++代码中,我需要在IIS中设置它来完成吗?这将使部署比要求的更重。对不起,我对Web服务了解不多。在回答中为您发布了一个链接。谢谢,这看起来很有希望。这是我迄今为止(在C++项目中)所做的:在配置->通用->公共语言运行时支持中添加/CLR选项,并添加了对VB.NET项目的引用。Intellisense马上就开始了,一个简短的测试就可以了。很不错的!我刚刚按照你的评论中的步骤,但是C++编译器看不到VB类——我如何包含它?