我有一个从 C# 控制台应用程序调用的 C++ DLL,如下所示。
在 Visual Studio 中运行以对其进行调试时,它会引发异常,指出堆栈不稳定并检查方法参数是否正确。但是,如果我从 Windows 资源管理器在 VS 之外运行 *.exe,它会按预期将数据返回到屏幕。
我怎样才能让它在 Visual Studio 中运行?
谢谢
**From the C++ header file:**
#ifdef RFIDSVRCONNECT_EXPORTS
#define RFID_CONN_API __declspec(dllexport)
#else
#define RFID_CONN_API __declspec(dllimport)
#endif
RFID_CONN_API BSTR rscListDevices( long showall ) ;
[DllImport("MyDLL.dll")]
[return: MarshalAs(UnmanagedType.BStr)]
public static extern string rscListDevices(int showall);
static void Main(string[] args)
{
string data= rscListDevices(0);
Console.WriteLine(data);
Console.ReadKey();
}