我的某些版本中有这个烦人的错误。
该项目中没有错误,因为如果我再次构建,那么问题就消失了。仅在将站点部署到Windows 2008 Server时,才会显示该消息。
我首先认为这可能与临时文件有关,但事实并非如此。我将构建版本部署到其他网站,并且错误仍然出现。
该错误出现在站点的随机动作上。大多数时候,构建都是可以的,但是每个第3或第4个构建都会产生运行时错误。
我在发布模式下使用WebdeploymentProject进行构建。视图是预编译的。
它不是在ASP.NET MVC中,当使用正确的类型化对象呈现页面时,我会遇到不正确的类型错误,因为视图的名称完全不同。
如何调试此问题或如何获得帮助?
这是我的WebDeploymentProject
<!--
Microsoft Visual Studio 2008 Web Deployment Project
http://go.microsoft.com/fwlink/?LinkID=104956
-->
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{E5E14CEB-0BCD-4203-9A5A-34ABA9C717EA}</ProjectGuid>
<SourceWebPhysicalPath>..\B2CWeb</SourceWebPhysicalPath>
<SourceWebProject>{3E632DB6-6DB3-4BD0-8CCA-12DE67165B48}|B2CWeb\B2CWeb.csproj</SourceWebProject>
<SourceWebVirtualPath>/B2CWeb.csproj</SourceWebVirtualPath>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>.\Debug</OutputPath>
<EnableUpdateable>false</EnableUpdateable>
<UseMerge>true</UseMerge>
<SingleAssemblyName>B2CWeb_Build</SingleAssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>false</DebugSymbols>
<OutputPath>..\B2CWeb_Deploy\</OutputPath>
<EnableUpdateable>false</EnableUpdateable>
<UseMerge>true</UseMerge>
<SingleAssemblyName>B2C_Web</SingleAssemblyName>
<ContentAssemblyName>
</ContentAssemblyName>
<DeleteAppCodeCompiledFiles>false</DeleteAppCodeCompiledFiles>
</PropertyGroup>
<ItemGroup>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v9.0\Microsoft.WebDeployment.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.WebDeployment.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="BeforeMerge">
</Target>
<Target Name="AfterMerge">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
编辑
几个月后,这个问题消失了。我已经一年多没遇到问题了。我猜这个问题在没有人期望的时候会再次发生。
编辑2
…超过2年了。我真是个幸运儿!
编辑3
我刚刚阅读了有关MSDN的文章,这听起来像是我遇到的问题。我禁用了调试功能,但是编译仍然“有时出错”。旧提供程序的行为可能是问题所在。但这只是猜测。
如果启用了调试编译,则包含较长HTML跨度且没有服务器块的很大页面(例如<%=%>)会导致堆栈溢出,从而使应用程序崩溃。请注意,在我们的测试中,页面占用的页面大约是旧提供者中的类似问题的4倍,但是在这种情况下,它会使整个应用程序崩溃,而在旧提供者中,它只会使违规页面失败