问题
I have an ASP.NET website that uses C# and I'd like to call functions from an unmanaged C/C++ DLL. How do I do it?
回答1:
Check out P/Invoke.
Calling Win32 DLLs in C# with P/Invoke
If it's a COM dll, then you can use COM Interop
回答2:
create an unmanaged dll:
extern "C" __declspec(dllexport) __cdecl int sum(int a,int b); ---->
create a namespace/class to DllImport the above DLL
using System.Runtime.InteropServices; namespace ImportDLL { public class importdll { public importdll() { } DllImport("mysum.dll", EntryPoint="sum", ExactSpelling=false, CallingConvention = CallingConvention.Cdecl)] public extern int myfun(int a, int b); } }
create a aspx code behind
using ImportDLL; namespace TEST { public int my_result; protected importdll imp = new importdll(); my_result = imp.myfun(1,1); }
回答3:
Just adding that pinvoke.net is a great wiki/resource for your Win32 needs.
来源:https://stackoverflow.com/questions/720004/how-do-i-call-unmanaged-c-c-code-from-a-c-sharp-asp-net-webpage