從C#應用程序鏈接到C#DLL函數的正確方法是什麼?從C#應用程序鏈接函數到C#DLL
這是我的DLL的樣子:
namespace WMIQuery_Namespace
{
public class WMIQuery
{
public static string GetPortName()
{
/* Does some stuff returning valid port name. */
return string.Empty;
}
public static int ScanForAdapters()
{
/* Does some stuff returning valid adapter index. */
return _index = -1;
}
}
}
這是在我的應用程序界面的外觀:
namespace MyApp_Namespace
{
class MyApp_Class
{
internal static class WMIQuery
{
[DllImport("WMIQuery.dll")]
internal static extern string GetPortName();
[DllImport("WMIQuery.dll")]
internal static extern int ScanForAdapters();
}
}
}
編譯沒有任何錯誤或警告,但是當我試圖把這些從我的應用功能則拋出該異常:
「無法找到名爲切入點DLL中的'ScanForAdapters' 'WMIQuery.dll'。「
我在做什麼錯?我知道我可以添加WMIQuery
作爲參考,但我需要將它作爲非託管DLL鏈接。謝謝。
你一定要鏈接它,或者你可以導入DLL引用到Visual Studio項目? – 2010-10-26 15:20:04
@Daniel:爲了清晰起見,我更新了問題。它需要被鏈接。 – 2010-10-26 15:32:10
如果你可以解釋爲什麼你不想添加'WMIQuery'作爲參考,它會更容易回答。 – egrunin 2010-10-26 15:49:44