C#.net 下webservice如何调用vc.net写的Dll文件出错

智慧光 2008-01-18 01:43:46
Dll文件 myDll2.dll中使用extern "C" _declspec(dllexport) double Root(double d) 导出函数,

C#.net项目为asp.net web服务,在此项目中,调用myDll2.dll如下:
[WebMethod]
[DllImport("myDll2.dll")]
public static extern double Root(double d);

编译通过,但访问此webservice时,IE出现:
Web 服务方法不能是静态的。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: Web 服务方法不能是静态的。

当把public static extern double Root(double d)改为public extern double Root(double d)时,编译出错如下:
Service1.asmx.cs(67): 必须在标记为“static”和“extern”的方法上指定 DllImport 属性。

自己实在是解决不了了,特向各位大虾求助了.先谢了!
PS:myDll2.dll被桌面应用程序调用时没问题.
...全文
104 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧