尝试读取或写入受保护的内存。这通常指示其他内存已损坏

c#调用别人的dll里面的方法出现"尝试读取或写入受保护的内存。这通常指示其他内存已损坏。"!纠结了好久!请大家帮帮我吧

如果是调用的非托管dll,则需要这样调用。
http://www.cnblogs.com/Charles2008/archive/2010/01/10/1643449.html

http://www.cnblogs.com/xugang/archive/2007/12/23/1011597.html

通常就是参数类型不匹配,调用约定不匹配

最好,写下C函数声明和C#中的声明。

出现这种情况应该是字符串,指针参数。或者返回值。
字符串的话,看看这篇文章 http://msdn.microsoft.com/en-us/library/s97shtze.aspx

还有这个http://msdn.microsoft.com/en-us/library/s9ts558h(v=vs.110).aspx#cpcondefaultmarshalingforstringsanchor5.aspx#cpcondefaultmarshalingforstringsanchor5 "")