所以我有一个WPF解决方案。我添加了一个新项目,并为其添加了一个CPP Dll项目。
我用过这个例子。很直接。
http://www.codeproject.com/Articles/9826/How-to-create-a-DLL-library-in-C-and-then-use-it-w
这是我的代码
CppTestDll.cpp
#include <stdio.h>
extern "C"
{
__declspec(dllexport) void DisplayHelloFromDLL()
{
printf("Hello from DLL !\n");
}
}
当我构建这个时,我确实得到了一个DLL
现在,当我进入我的WPF应用程序并尝试添加对此DLL的引用时,我收到此错误。
“无法添加对'C:\ DIR \ testcppdll.dll'的引用。请 确保该文件可以访问,并且它是一个有效的程序集 或COM组件。“
答案 0 :(得分:2)
如果你看一下你引用的例子:
创建一个简单的C#应用程序:
[DllImport("TestLib.dll")]
public static extern void DisplayHelloFromDLL ();
在C#中,关键字extern表示该方法是在外部实现的。
您的代码应如下所示:
using System;
using System.Runtime.InteropServices; // DLL support
class HelloWorld
{
[DllImport("TestLib.dll")]
public static extern void DisplayHelloFromDLL ();
public void SomeFunction()
{
Console.WriteLine ("This is C# program");
DisplayHelloFromDLL ();
}
}
您没有添加对DLL的引用 - 您使用P/Invoke
DLLImport
功能