从VBA调用C#dll无法找到DLL入口点

时间:2016-12-29 19:08:56

标签: c# excel vba dll

我试图通过regasm.exe从VBA代码调用dll lib而不注册DLL 。我已经设法使用def文件为c ++ DLL做了但我无法找到为C#DLL做同样的方法。

这是我正在使用的示例VBA代码:

Public Declare Function AddBrackets _
Lib "C:\...\Visual Studio 2008\Projects\ClassLibrary3\ClassLibrary3\bin\Debug\ClassLibrary3.dll" _
(ByVal value As String) As String

Sub test()

Dim text_result As String
text_result = AddBrackets("123")

End Sub

和C#dll:

using System.Runtime.InteropServices;
    namespace ClassLibrary3
    {
        [ComVisible(true)]
        [ClassInterface(ClassInterfaceType.AutoDual)]
        public static class CSharpTools
        {
            [ComVisible(true)]
            static string AddBrackets(string value)
            {
                return "[" + value + "]";
            }
        }
    }

预期结果:text_result = [123] 但是在线text_result = AddBrackets("123") 我收到错误453"无法找到DLL入口点AddBrackets'给出库的路径'"

感谢您的帮助。

0 个答案:

没有答案