[英]Creating a CPP DLL for use in a C# program
所以我有一個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組件。”
如果你看一下你引用的例子:
創建一個簡單的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的引用 - 您使用DLLImport
P/Invoke
函數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.