C#如何调用C#写的DLL 用DllImport

C#怎么调用C#写的DLL 用DllImport



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace test
{
    public class Class1
    {
        public static string XX()
        {
            return "Hello";
        }

    }
}




       [DllImport("test.dll", CharSet = CharSet.Auto)]
        public static extern string XX();
        private void Form1_Load(object sender, EventArgs e)
        {
            MessageBox.Show(  XX() );
        }




错误 无法在 DLL“test.dll”中找到名为“XX”的入口点。用DllImport哦,,

------解决思路----------------------
为什么要用dllimport,你应该添加引用后直接调用,或者用反射,如果你想动态加载的话。

也不是绝对不可以用dllimport,但是实在复杂,你需要将这个类库作为com暴露,然后通过标准的com api(比如cocreateinstance等创建类型,再调用方法,这个说起来就不是几句话了。)
------解决思路----------------------
你这个是C#写的DLL,托管代码,直接添加引用,然后导入命名空间就可以了。一般是C++写的com组件才会像你那样去调用的,所以不需要这么麻烦了