Да, это возможно.
Создайте новый проект win32 dll в visual studio. Допустим, вы хотите создать метод C с именем sum и сделать его доступным через dll. Сначала вы создаете метод:
int _stdcall sum(int x , int y)
{
return x+y;
}
И если VS не создал файл .def (он должен был это сделать), то создайте файл .def и напишите в этом файле следующее:
LIBRARY Example
DESCRIPTION Example library for C
EXPORTS
sum @1
Это создаст доступный метод с именем sum available при загрузке dll. Теперь вы должны скомпилировать и использовать его в своем проекте на C #, используя DLLImport.