Здравствуйте , пытаюсь разобраться с взаимодействием неуправляемого и управляемого кода , но что-то пока не получается.
В проекте на С# пишу как полагается :
В библиотеке на С++ есть класс :
В С# после вызова
Выкидывается исключение System.EntryPointNotFoundException
( то есть не была найдена точка входа parse в lib.dll )
Никак не могу понять почему , ведь в dll библиотеке есть точно метод
с названием parse .
Заранее спасибо.
В проекте на С# пишу как полагается :
В библиотеке на С++ есть класс :
В С# после вызова
Выкидывается исключение System.EntryPointNotFoundException
( то есть не была найдена точка входа parse в lib.dll )
Никак не могу понять почему , ведь в dll библиотеке есть точно метод
с названием parse .
Заранее спасибо.
[DllImport("lib.dll",CharSet = CharSet.Ansi, ExactSpelling = true)]
internal static extern void parse(String exp);
а если в си-шном коде из которого библиотека генерится
Без класса у меня все работало.
Поэтому, мне кажется, раз уж экспортируется всё равно статический метод, то лучше всего добавить к исходникам dll'ки файл типа "exports.c":
И собирать dll'ку вместе с этим файлом.
Тогда сразу будет понятно, что нужная функция называется "parse".
это и не из-за этого было) , который я видимо удалил(копипастя свой класс) , и при компиляции который почему-то работал , но после того как я снес висту работать перестал . Теперь где-то выдается 30 error-ов , поэтому я написал новый парсер на с# , который отлично работает )
Но всё равно всем спасибо . Так что , извиняюсь за потраченное время.