js-ctypes и c# неуправляемая dll в windows xp

У меня есть неуправляемая dll С# (с использованием Giesecke Dllexport). Когда я открываю эту dll с помощью js-ctypes в Windows 7,8 64/32 бит, она работает, но если я попробую ее в Windows XP, я получаю сообщение об ошибке: «не удалось открыть библиотеку».

Я сделал эту dll, используя .Net Framework 2.0.

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";
        }
    }
}

Это похоже на этот вопрос, но мне это не помогло:

Экспорт неуправляемых DLL с библиотекой Роберта Гизеке Не Работа под Windows XP


person Raphael    schedule 06.03.2015    source источник
comment
Эй, вы не привлекли к этому особого внимания, потому что теги не часто просматриваются людьми из jsctypes, тег на firefox-addon для большего внимания. :) Это хороший вопрос   -  person Noitidart    schedule 11.03.2015


Ответы (1)


Решил!

Я создал новую DLL x86 с нуля на C#, используя DLLExporter от RGiesecke и .NET Framework 2.0, и теперь это работает.

person Raphael    schedule 11.03.2015
comment
Не могли бы вы опубликовать исходник до и после. Я думаю, что до было там, было бы здорово увидеть после, чтобы мы могли помочь другим в подобных ситуациях. - person Noitidart; 11.03.2015
comment
@Noitidart проблема была не в коде, а в конфигурации проекта. Я перешел на .Net Freamwork 2.0 и настроил выпуск на x86, тогда все работает. - person Raphael; 15.03.2015