Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.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+使用C#lib+;程序 我尝试在本地C++程序中使用一个C语言LIB(实际上引用了整个DLL以外的项目)。_C#_Dll_C++ Cli - Fatal编程技术网

从本机C+使用C#lib+;程序 我尝试在本地C++程序中使用一个C语言LIB(实际上引用了整个DLL以外的项目)。

从本机C+使用C#lib+;程序 我尝试在本地C++程序中使用一个C语言LIB(实际上引用了整个DLL以外的项目)。,c#,dll,c++-cli,C#,Dll,C++ Cli,我基本上遵循了以下示例: 我在VS中创建了一个空的sln,在这个sln中添加了C#程序。然后创建一个包装C C++程序,它引用了C语言项目,在头文件中,它使用的是c*i命名空间: #include <string> using namespace CsharpNamespace; //this is the C# namespace, has all the classes/ functions I need. using namespace std; namespace Wra

我基本上遵循了以下示例:

我在VS中创建了一个空的sln,在这个sln中添加了C#程序。然后创建一个包装C C++程序,它引用了C语言项目,在头文件中,它使用的是c*i命名空间:

#include <string>

using namespace CsharpNamespace; //this is the C# namespace, has all the classes/ functions I need.
using namespace std;

namespace Wrapper
{
    public ref class CsharpClassWrapper
    {
        public:
        ReaderWrapperClass(){}

        static AllData ^AllDataWrapper; //the AllData class is the C# class
        static unsigned int ID;
        void Initial(string s);
    };
}
#包括
使用名称空间和名称空间//这是C#名称空间,包含我需要的所有类/函数。
使用名称空间std;
名称空间包装器
{
公共引用类CsharpClassWrapper
{
公众:
ReaderRapperClass(){}
静态AllData ^AllDataWrapper;//AllData类是C#类
静态无符号整数ID;
无效首字母(字符串s);
};
}
现在的问题是VS2012说它找不到名称空间。尽管它可以找到AllData类以及与之相关的所有内容(函数、成员等),并且类名称会突出显示,就像它知道这个类一样;当我删除using语句时,它再也找不到它了,并且会抛出一个错误,说类没有定义

你知道哪里不对吗?非常感谢您的任何意见

更新:


我有第三个项目,它将使用包装器项目,并调用包装器函数。如果我只编译包装器项目和C#项目,它工作正常,不会抛出错误。但是,如果我尝试编译第三个(主项目),它将出现上述警告。

我最终按照视频中的说明找到了答案:


他说,在C++项目中,你不需要启用“公共语言运行时支持(/CLR)”,这是不正确的,你仍然需要使用它。

你问的是C++ + CLI,而不是C++,即使你不知道。