windows xp 中的 js-ctypes 和 c# 非托管 dll

js-ctypes and c# unmanaged dll in windows xp

我有一个非托管的 c# dll(使用 Giesecke Dllexport)。当我在 Windows 7,8 64/32 位中使用 js-ctypes 打开这个 dll 时它可以工作,但是如果我在 Windows XP 上尝试它我得到错误:"couldn't open library".

我使用 .Net Framework 2.0 制作了这个 dll。

using RGiesecke.DllExport;
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;

namespace MinhaDll
{
    public class Dll
    {
        [DllExport("getA", CallingConvention = CallingConvention.StdCall)]
        [return: MarshalAs(UnmanagedType.LPStr)]
        public static string getA()
        {
            return "a";
        }

        [DllExport("getB", CallingConvention = CallingConvention.StdCall)]
        [return: MarshalAs(UnmanagedType.LPStr)]
        public static string getB()
        {
            return "b";
        }
    }
}

就像这个问题,但对我没有帮助:

Unmanaged DLL Export with Robert Giesecke Library Not Working Under Windows XP

解决了!

我使用 RGiesecke 的 DLLExporter 和 .NET Framework 2.0 在 C# 中从头开始创建了一个新的 DLL x86,现在它可以工作了。