基本上我需要从Visual C++代码调用C#代码。 在阅读了很多关于可能方式的文章后,我决定使用C++/CLI机制。从Visual C++调用C#代码
最初我决定在C++本地代码(dll库项目)中使用一些函数,它们会从CLR项目中调用一些函数,它会从C#项目中调用一些函数。
之后,我想也许我可以摆脱桥梁项目(CLR项目),因为它只是过渡到托管世界。我认为我可以创建我的本地项目,并且可以向其中添加一个C++源文件,并且可以为该文件启用CLR支持,而不是整个项目。 所以这意味着我的本地项目将只包含一个可以使用C++/CLI语法的文件并且代表桥接。所有其他文件都只是本机C++源文件。 从设计的角度来看,这是正确的吗?!
为了达到上述目的,我想我必须将托管的C#dll文件添加到C++本机dll文件的Additional #using Directories属性中。 问题是我不知道如何设置基于当前配置的C#dll调试或发布版本的路径。
另外我知道我不能将本机C++ DLL添加到C#项目引用。 但它看起来像我可以在本机C++项目中添加一个C#dll作为参考。怎么来的 ?!这甚至工作?! 如果我可以将C#dll添加到本机C++项目引用,是否需要设置这些#using目录?!