所以我有一个 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 的引用时,我收到此错误。
"A reference to 'C:\DIR\testcppdll.dll' could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component."
最佳答案
如果您查看您引用的示例:
创建一个简单的 C# 应用程序:
- 启动 Visual Studio .NET。转到文件->新建->项目。
- 选择 Visual C# 项目。 ... (您可以选择 WPF 项目)
- 为您的应用程序命名。按确定。进入指定 类,插入以下两行:
[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 的引用 - 您使用 DLLImport
P/Invoke
函数
关于c# - 创建用于 C# 程序的 CPP DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22240702/