我有一段非托管的本机C ++代码(一个类),我想将它集成到C#.NET程序集中。
我(想)我知道我有两个选择:
假设我想使用选项2并使用Visual Studio Express 2015 IDE GUI,而无需从命令行直接调用编译器。
我是否需要为两个C#(项目" C#")和C ++ / CLI-C ++ / native(项目" C ++")部分创建两个单独的项目,然后引用(添加引用)项目的DLL输出文件" C ++"来自项目" C#"并静态链接? 这是C ++源文件直接集成到项目中的唯一方式吗?#C; C#"通过为每个编译器指定不同的编译器和不同的编译器选项?
答案 0 :(得分:2)
如果你选择选项2,你需要一个单独的C ++ / CLI项目,你必须从c#项目中引用。
我认为"静态地链接它#34;意味着添加程序集引用,这不是一回事。
答案 1 :(得分:1)
如果选择选项2.您必须创建3个项目:
将包装器的引用添加到C#项目中,并将本机项目的引用添加到包装器中。但是,您可以将本机C ++代码直接添加到包装器并删除第3个项目。但是afaik你不能在其他原生C ++项目中使用包装器。
您无法直接向C#添加C ++代码,因此您必须使用上述选项之一。