我从http://sourceforge.net/projects/bacnet/下载了一个BACnet-Stack,但它是用c编写的,我想在c#中使用它。
我现在已经阅读了4个小时关于如何完成它但我不再进一步了。大多数答案是在c#中重新编写代码,但我不知道c。我在Code :: Blocks中打开了一个工作区来查看代码并将库编译成一个文件。但我该如何使用呢?
问候,
的Stefan
答案 0 :(得分:0)
为解决类似情况,Microsoft提供了属性,程序集和编组,以提供托管非托管代码(不是.net识别/在clr边界外运行)和托管遗留COM之间的互操作性。
调查动力学的使用和(动态语言运行时 - DLR)应该更好。
代码示例(使用kernel32.dll)作为从托管上下文中调用非托管代码的示例
[DllImport("kernel32.dll", EntryPoint="MoveFile",
ExactSpelling=false, CharSet=CharSet.Unicode,
SetLastError=true)]
static extern bool MoveFile(string sourceFile, string destinationFile);
//calling the function
static void Main()
{
MoveFile("sheet.xls", @"c:\sheet.xls");
}
另请查看此pdf:http://www.nag.com/IndustryArticles/Calling_C_Library_DLLs_from_C_Sharp.pdf
答案 1 :(得分:0)
顺便说一句; BACsharp 项目具有可以借鉴的开端/艺术燃料-您最好/最好将使用 Winform 计时器替换为通用计时器,但大约一年前我发现了一个 C# NuGet 包;你可能也想看一眼那个(?)。