牛骨文教育服务平台(让学习变的简单)

     前面曾写过关于把cs编译成dll文件的文章(传送门),这里补充除原来两种情况外的第三种情况:当cs文件中含有调用WebService编译时,出现“找不到类型或命名空间名称……<是否缺少using指令或程序集引用>”。

解决办法:

  1. 浏览器中输入WebService的访问地址http://www.BanLao.com/BL.asmx?wsdl,保存到本且后缀为*.wsdl。

  2. 打开vs的命令提示工具,编译刚才的BL.wsdl文件:wsdl BL.wsdl,得到一个BL.cs的代理类文件。(编译时路径指向*.wsdl所在目录)

  3. 将得到的BL.cs使用vs命令提示工具编译为BL.dll文件。(csc /out: BL.dll /t:library BL.cs)

4. 改写原需打包的cs文件,原来调用WebService的地方,可以引用新生成的BL.dll。

5. 再次编译这个cs文件。由于该文件引用了bin目录下的另一个dll文件:

csc /out: bin/Service.dll /r: bin/BL.dll /t:library Service.cs

其中,Service.dll就是新生成的dll文件。