[英]Missing assembely reference error after adding Facebook.dll using c# asp.net
[英]How to call functions after adding DLL reference to a C# asp.net project
如果 MathLibrary.dll 是 .NET 程序集,您可以通过以下方式解决问题:
但是,从表面上看,MathLibrary.dll 不是 .NET 程序集。 它似乎是一个标准的 Win32 DLL(我可以从declspec(dllexport)
的使用中看出),这意味着它包含非托管代码和一系列符号和入口点(与公开类型的 .NET 程序集 DLL 相反) . 如果是这种情况,设置参考将无济于事。 使用 DLL 需要一个特殊的过程,因为它是非托管的。
要了解如何从 .NET 使用 ummanaged DLL,请参阅此文章。
重要的一点是:
使用 DllImportAttribute 来标识 DLL 和函数。 使用 static 和 extern 修饰符标记方法。
您的 C# 代码可能如下所示:
namespace WebApplication1
{
class ExternalFunctions
{
[DllImport("MathLibrary.dll")]
public static extern bool fibonacci_next();
}
class Program
{
static void Main()
{
//call it
var foo = ExternalFunctions.fibonacci_next();
}
}
}
如果您遇到上述问题,您可能需要修改 MathLibrary.dll 导出其符号的方式(您必须使用extern "C"
)。
另请参阅Extern
在 C# 中如何工作? .
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.