关于c#:某些网站发布网站失败

关于c#:某些网站发布网站失败

Publishing Website fails for some pages

发布网站时遇到一个奇怪的问题。我继承了这个项目,问题在我到达之前就开始了,所以我不知道是什么情况导致了问题的产生。

基本上,网站项目下面的3个文件夹无法正确发布。将PrecompiledWeb传输到主机时,必须将这三个文件夹从Visual Studio项目手动复制(即它们不再是已发布的版本)到主机才能正常工作。

如果保留了发布操作的结果,则文件夹中的任何页面都会导致以下错误:

Server Error in '/' Application.
Unable to cast object of type
'System.Web.Compilation.BuildResultNoCompilePage'
to type
'System.Web.Compilation.BuildResultCompiledType'.
Description: An unhandled exception
occurred during the execution of the
current web request. Please review the
stack trace for more information about
the error and where it originated in
the code.

Exception Details:
System.InvalidCastException: Unable to
cast object of type
'System.Web.Compilation.BuildResultNoCompilePage'
to type
'System.Web.Compilation.BuildResultCompiledType'.

Source Error:

An unhandled exception was generated
during the execution of the current
web request. Information regarding the
origin and location of the exception
can be identified using the exception
stack trace below.

Stack Trace:

[InvalidCastException: Unable to cast
object of type
'System.Web.Compilation.BuildResultNoCompilePage'
to type
'System.Web.Compilation.BuildResultCompiledType'.]
System.Web.UI.PageParser.GetCompiledPageInstance(VirtualPath
virtualPath, String inputFile,
HttpContext context) +254
System.Web.UI.PageParser.GetCompiledPageInstance(String
virtualPath, String inputFile,
HttpContext context) +171
URLRewrite.URLRewriter.ProcessRequest(HttpContext
context) +2183
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+405 System.Web.HttpApplication.ExecuteStep(IExecutionStep
step, Boolean& completedSynchronously)
+65

Version Information: Microsoft .NET
Framework Version:2.0.50727.832;
ASP.NET Version:2.0.50727.832

有人知道这些页面无法正确发布的可能原因是什么?我能看到的任何内容都可能表明问题的根源吗?

添加:
每次都是完全干净的构建,因此旧的bin文件不存在问题。我还检查了bin文件夹中项目的日期戳,它们是最新的。

第二次加法:
该项目最初创建为网站,而不是Web应用程序。很抱歉,含糊不清。


我猜测是因为发布时,它正在编译Web站点项目,并且在不同文件夹或子文件夹中的某处找到了重复的类名。确保检查继承标签和类名,以免将两个类称为同一类。很好,不会在编码和调试时在不同文件夹中发生错误,但是当您发布/部署它时将出错。 ...希望有道理。


您可能会考虑尝试使用Microsoft的Web部署项目。从本质上讲,它们使您可以对MSBuild进行更多控制,但它可能有助于解决您的部署/预编译问题。

我们是否推断您使用的是网站项目类型(而不是Web应用程序)?


我会尝试清洁bin \\\\文件夹。
无论如何,我们的商店都完全放弃了网站,转而使用Web表单应用程序,这可以说是更好的选择。

编辑:迁移如何到这里


为此的最佳答案,请打开web.config文件,然后在编译标记中添加以下两个设置

1
<compilation targetFramework="4.0" debug="false" batch="false">

保持密码,当我在应用程序中遇到相同的错误并尝试在服务器中托管时,我也尝试了以下操作

1。单击"开始",单击"运行",键入iisreset / stop,然后单击"确定"。

2。打开C:\\\\ Windows \\\\ Microsoft.NET \\\\ Framework \\\\ v4.0.30319 \\\\ ASP.NET临时文件目录。

3。删除在步骤

中找到的目录中的所有文件和所有文件夹

4。单击"开始",单击"运行",键入iisreset / start,然后单击"确定"。

5。再次进行构建,然后尝试访问您的网站。


不久前,我遇到了类似的问题,发布会说成功,但是publish文件夹仍然是空的。

除了查看Web部署项目外,还应该将详细程度设置为Diagnostic(工具=>选项=>项目和解决方案=> Build and Run => Msbuild项目构建输出详细程度)

就我而言,这显示了有意义的编译器错误,可以帮助我解决此问题。

然后您还可以在shell提示符下使用-errorstack指令运行aspnet_compiler,以显示其他错误。


推荐阅读

    linux入侵网站命令?

    linux入侵网站命令?,工作,地址,信息,系统,数字,网站,名称,命令,网络,密码,lin

    linux网站根目录命令?

    linux网站根目录命令?,系统,一致,设备,网站,目录,根目录,信息,标准,位置,电

    linux访问网站的命令?

    linux访问网站的命令?,地址,系统,服务,工作,网站,命令,网络,管理,信息,网址,L

    linux命令创建项目组?

    linux命令创建项目组?,管理,密码,项目,命令,系统,位置,文件,用户组,用户,文

    复制项目的linux命令?

    复制项目的linux命令?,系统,项目,文件,命令,目录,源文件,语法,选项,目标,功

    linux命令项目部署?

    linux命令项目部署?,项目,服务,环境,软件,系统,代理,管理,统一,做好,业务,怎

    linux部署项目的命令?

    linux部署项目的命令?,项目,系统,设备,环境,工作,基础,传播,信息,标准,代码,L

    linux项目常用命令?

    linux项目常用命令?,工作,地址,系统,信息,管理,项目,命令,目录,标准,网络,lin

    linux项目更新命令?

    linux项目更新命令?,系统,信息,网络,地址,网站,通信,管理,时间,项目,命令,lin

    启动项目命令linux?

    启动项目命令linux?,工作,经理,产品,技术,地址,数字,系统,项目,命令,信息,怎

    linux编译项目的命令?

    linux编译项目的命令?,系统,工作,地址,软件,工具,信息,代码,项目,命令,环境,l

    linux命令行登陆网站?

    linux命令行登陆网站?,网站,系统,密码,服务,地址,环境,网络,软件,状态,项目,

    linux登陆网站命令?

    linux登陆网站命令?,网络,工具,网站,标准,地址,软件,系统,命令,数据,环境,lin

    linux命令打开网站?

    linux命令打开网站?,网络,网站,系统,地址,密码,传播,工具,代码,环境,命令,大

    linux下如何传输命令?

    linux下如何传输命令?,地址,密码,服务,系统,工作,项目,代理,认证,单位,软件,l

    项目linux常用命令?

    项目linux常用命令?,工作,地址,系统,管理,设备,信息,项目,命令,目录,标准,lin

    linux命令行登录网站?

    linux命令行登录网站?,系统,网站,地址,工作,软件,密码,网络,第一,环境,中心,

    linux管道传输命令?

    linux管道传输命令?,数据,工具,标准,命令,管道,通信,连续,系统,网络,灵活,Lin

    linux命令查询网站?

    linux命令查询网站?,地址,网络,信息,名称,档案,工具,网站,命令,传播,分析,lin

    linux上部署项目命令?

    linux上部署项目命令?,项目,软件,服务,工具,环境,代理,地址,代码,首页,做好,l