Fra*_*ank 6 c# c++ dll dllimport
我有一个C++ DLL,它必须集成在一个C#项目中.
我想我找到了正确的方法,但是调用dll会给我这个错误:System.BadImageFormatException:试图加载一个格式不正确的程序.(HRESULT异常:0x8007000B)
这是dll中的函数:
extern long FAR PASCAL convert (LPSTR filename);
Run Code Online (Sandbox Code Playgroud)
这是我在C#中使用的代码
namespace Test{
public partial class Form1 : Form
{
[DllImport("convert.dll", SetLastError = true)]
static extern Int32 convert([MarshalAs(UnmanagedType.LPStr)] string filename);
private void button1_Click(object sender, EventArgs e)
{
// generate textfile
string filename = "testfile.txt";
StreamWriter sw = new StreamWriter(filename);
sw.WriteLine("line1");
sw.WriteLine("line2");
sw.Close();
// add checksum
Int32 ret = 0;
try
{
ret = convert(filename);
Console.WriteLine("Result of DLL: {0}", ret.ToString());
}
catch (Exception ex)
{
lbl.Text = ex.ToString();
}
}
}}
Run Code Online (Sandbox Code Playgroud)
有关如何进行此操作的任何想法?
非常感谢,弗兰克