如何将Web服务部署为单个dll? C#

时间:2015-08-19 07:11:08

标签: c# web-services iis dll

我在VS中创建了一个类型为Site的项目。我创建了一堆asmx服务。为了使它在IIS上工作,我只是将cs和asmx文件复制到site的文件夹中。一切都很完美。 现在,当我将服务从本地PC部署到开发服务器时,我被告知要提供一个dll。 我不知道如何在这种类型的项目上编译dll。有可能吗?

然后,我创建了一个ASP.Net项目,把我所有的东西都放在那里。它创建了一个单独的dll。但是,如果我把它放在那个文件夹并告诉我的asmx,后面的代码就在那个dll中,当我尝试在浏览器中检查它时,我会得到解析错误。

WebService1.asmx:

<%@ WebService Language="C#" CodeBehind="~/AllWebServices.dll" Class="MyNamespace.WebService1" %>

也许我需要在Class属性中添加smth?

1 个答案:

答案 0 :(得分:2)

我在远程服务器上的IIS上部署了Asmx webservices。

  • 在解决方案资源管理器中右键单击您的项目
  • 设置输出类型:Class Library
  • Build-ASMX WebService Project
  • 转到项目的bin folder。你会在那里找到dll。
  • 如果您使用过任何external dlls/libs并想要一个dll,则必须使用Using Ilmerge to combine multiple dlls in .NET
  • 合并它们
  • 当我将asmx webservice部署到远程服务器上的IIS时。我只部署

    • bin
    • webservicename.asmx
    • Web.Config

注意:您不需要更改网络服务的.asmx文件中的标记。它会自动在dll in bin folder

中找到它