如何部署预编译的ASP.NET Web应用程序?

时间:2009-01-19 23:16:36

标签: asp.net precompiled

我在ASP.NET 2.0中实现了一个Web服务,并使用aspnet_compiler对其进行了预编译。

我现在不知道如何将其部署到IIS,有人能指出我正确的方向吗?我在Windows Server 2003计算机上使用IIS 6.0。

我已将预编译的文件放入虚拟目录,当我通过浏览器访问服务时,我收到以下解析器错误消息:

Parser Error Message: The page must have a 
<%@ webservice class="MyNamespace.MyClass" ... %> directive.

然后检查.asmx文件中的所述指令,编译器将内容更改为:

This is a marker file generated by the precompilation tool, and should not be deleted!

更新:当我将非预编译的Web应用程序放在虚拟目录中时,它工作正常,当我将预编译的wen应用程序放在虚拟目录中时,我收到上述错误。

任何人都有任何想法!?

2 个答案:

答案 0 :(得分:2)

您可以将输出目录的内容复制到IIS上的虚拟目录中,它应该都可以正常工作。您需要设置应用程序池并为ASP.NET配置虚拟目录,就像未编译的网站一样。确保从虚拟目录中删除所有内容(如果之前有非编译站点)。

此外,您还可以使用Web Deployment个项目,这些项目可以作为MSI安装程序的输入。

ASMX文件内容正确无误。您确定已使用应用程序配置了虚拟目录吗?右键单击虚拟目录打开属性窗口,确保“应用程序名称”(在“虚拟目录”选项卡上)已设置并可编辑。

还在选项卡上选择了正确的ASP.NET版本?在属性窗口“

”的“ASP.NET”选项卡上检查这一点

答案 1 :(得分:1)

你是否部署了整个bin目录?您需要确保aspnet_compiled创建的.COMPILED文件位于bin目录中。