1
我的.NET項目中有C++ dll。從dll進口的方法如下圖所示C + + DLL似乎不能在.NET中正常工作
private const string LibName = "dll_name.dll";
[DllImport(LibName, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static void Method1(double[] _params, UInt32 len);
[DllImport(LibName, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static double Method2(Int32 x, Int32 y);
它第一次運行良好。但後來我發現,當我從Visual Studio 2012或更高版本構建dll時,程序無法找到dll並引發異常「未找到文件」。但是當我在VS 2010中從同一個項目構建相同的DLL時,沒有任何問題。我不認爲工具鏈版本可以產生如此大的差異。 我怎樣才能使它從新版本的VS工作?
DLL位於何處?它在你的系統路徑中還是在項目本地? –
@DStanley說了什麼,或者只是和可執行文件放在同一個目錄下。 –
Dll與可執行文件位於同一目錄 – rum