通常,当我们需要在C#程序中使用原生C++动态链接库时,编写一个管理包装器就可以实现。在这样的程序中,如果我在DLL函数调用上按F12 (转到函数定义),它将转到一个C#文件,该文件看起来包含所有函数的转发声明。我检查了这个文件的位置,它存在于windows temp目录中。
所以我的问题是,当我们在C++程序中通过管理包装器使用C#非托管动态链接库时,.NET框架(或任何其他组件)是否会创建与动态链接库中的接口类相关的任何临时C#类?
发布于 2014-07-15 18:30:56
没有“临时C#文件”。如果你使用Go to Definition,并且集成开发环境只有一个定义的程序集引用,那么它就没有机会找到定义的源代码文件。因此,它从引用程序集中的元数据自动生成一个。这看起来与源代码文件非常相似,但当然没有任何注释,也没有类的代码。它不能编译。即使原始程序集是从C++/CLI或VB.NET代码创建的,它也是在C#中。
不错的功能,但不要把它搞混了。如果希望IDE将您带到实际的源代码文件,则需要库的项目引用,而不是程序集引用。
https://stackoverflow.com/questions/24753786
复制相似问题