C # P \ Invoca DLL sem ponto de entrada em C ++?

Eu tenho uma DLL de C ++ "TheFoo.dll" com um método "Foo ()"

Eu tenho acesso a outro código C ++ que usa esse método simplesmente chamando:

Foo();

Eu acredito que o método tenha:

 __declspec( dllexport )

Então, com a leitura que fiz sobre o P / Invoke, eu pensei que deveria ser capaz de simplesmente chamar o mesmo método do meu código c #:

namespace PInvokeExample1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

        }


        [DllImport(@"C:\MyFolder\TheFoo.dll")]
        public static extern
            void Foo();

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Foo();

        }



    }
}

Quando eu executo, recebo um erro:

Unable to find an entry point named 'Foo' in DLL 'C:\MyFolder\TheFoo.dll'.

Alguma idéia porque não é encontrado?

questionAnswers(3)

yourAnswerToTheQuestion