我正在尝试制作我的第一个 c# dll。我希望能够使用 win32API 从 ruby 调用它的方法/函数。我制作了这个dll:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ClassLibrary1
{
public class Class1
{
public int PropA = 10;
public void Multiply(Int32 myFactor)
{
PropA *= myFactor;
}
}
}
我用 Visual Studio 2010 编译它并得到了我的 ClassLibrary1.dll 文件。
现在对于红宝石部分,我尝试了这个:
f = "c:/path_to_file/ClassLibrary1.dll"
mult = Win32API.new(f,"Multiply",["I"],"I")
但是,我收到以下错误:
Error: #<RuntimeError: (eval):0:in `initialize': GetProcAddress: Multiply or MultiplyA
老实说,我从未创建过 dll,也没有使用 c# 的经验。我只是想开始。我之前通过 win32API 使用了许多 dll 和 Ruby(主要是 user32)。
我猜我的dll不行?
问候,