我在VS2005中编写了一个类库工程(TestDLL),里面包含多个类,现在我将这个类库工程生成DLL动态链接库,之后我想在.NET2003里面用非托管代码调用的方式去调用这个VS2005链接库里的其中一个类中一个方法,应该怎么做?假如VS2005封装的DLL名称为:TestDLL.dll
           其中包含一个类:TestClass
       这个类中有一个方法:int Add(int x,int y){}
将这个DLL注册,并将其置于Windows\System32目录下后
在.NET2003中的一个类中编写如下代码:
[DllImport("TestDLL.dll")]
public static extern int Add(int x,int y);在调用这个方法的时候提示:找不到非托管DLL中名为Add的方法的入口点。求教一下高手应该怎么做才能够实现?是否在VS2005中封装DLL时需要定义函数入口点,或者我调用的方法不对?
还有如果用COM+做的话应该怎么封装?小弟在此恭候各位高手老大指点迷津~~~~~~~~~

解决方案 »

  1.   

    2003中不能调用2005生成的DLL...
      

  2.   

    你2005写的是什么类型的dll,如果是.net类库,那么.net环境直接引用即可使用。至于你说的dllimport,那只是适合标准动态库。
      

  3.   

    啊扑啊扑~~还没有解决~~VS2005的是.NET Framework 2.0 ,其生成的DLL在.NET2003环境(.NET Framework 1.1)中不能直接引用~
    .NET Framework 2.0好像不具有向后兼容的能力.
    偶现在就想知道如何把VS2005的DLL封装成为标准动态库~好在2003中调用....请高手指教~~~
      

  4.   

    把DLL放到debug下面再试试行不行。
      

  5.   

    .NET Framework不能写标准动态库.
      

  6.   

    -___-:!!那看样子只有用COM+了~~~~~~~
      

  7.   

    to VS2005的是.NET Framework 2.0 ,其生成的DLL在.NET2003环境(.NET Framework 1.1)中不能直接引用~ .NET Framework 2.0好像不具有向后兼容的能力.这是肯定的,版本都是向上兼容。