我已经完成了简单的asp.net Web应用程序项目,编译它,并尝试在本地IIS上进行测试。我创建了虚拟目录,用物理目录映射它,然后将所有必要的文件放在那里,包括所有.dll的bin文件夹。在项目设置中,构建部分,输出路径是bin \所以当我尝试浏览我的应用程序时我得到了:
Server Error in '/' Application.
--------------------------------------------------------------------------------
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'AmeriaTestTask.Default'.
Source Error:
Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AmeriaTestTask.Default" %>
Line 2:
Line 3: <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="ajaxToolkit" %>
Source File: /virtual/default.aspx Line: 1
已阅读类似问题的帖子和解决方案是设置输出路径到bin \,但它是我的项目的defalut。
我知道我来不及回答,但它可以帮助别人并节省时间。
以下可能是其他解决方案。
Solution 1:
有关为应用程序创建虚拟目录的详细说明,请参阅为应用程序创建虚拟目录。
Solution 2:
您的应用程序的Bin文件夹丢失或应用程序的DLL文件丢失。有关详细说明,请参阅将应用程序文件复制到生产服务器。
Solution 3:
您可能已部署到Web根文件夹,但未更改Web.config文件中的某些设置。有关详细说明,请参阅部署到Web根目录。
在我的情况下Solution 2
工作,而部署到服务器从DLL's
目录的一些bin
尚未成功上传到服务器。我再次重新上传所有DLL,它的工作原理!
以下是solve asp.net parser error的参考链接。
在我的情况下,我错过了.csproj文件中的编译标记
CodeFile="Default.aspx.cs"
有趣的所有不同的场景..
在我的情况下...我已经将我的网站上传到GoDaddy,并得到了Parser Error。
我通过在web.config中的<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Compile>
下注释compilers
解决了这个问题。还可以添加用于发布的自定义配置文件,以便在发布期间进行预编译。
system.codedom
我来不及但是让我解释一下我是如何解决这个问题的。
这个问题基本上是因为文件夹/解决方案结构不正确。
可能会发生此问题,因为1.如果您已从其他位置复制项目并尝试运行该项目。
所以要解决此问题,请转到原始位置并再次交叉检查文件夹和文件。
这对我有用。
当Debug和Release文件夹中的文件未正确创建时(包括错误引用或多次覆盖),会发生这种情况。我遇到了同样的问题,我在构建解决方案时一切正常,但是当我发布网站时,它给了我同样的错误。我已通过以下方式解决了这个问题:
我有同样的问题..跑5或6个小时的研究..简单的解决方案似乎工作..我只需要将我的文件夹从iis转换为应用程序..它工作正常。 (这是我从服务器2003迁移到服务器2008 R2的情况)
(1)打开IIS并选择需要转换的网站和相应的文件夹。右键单击并选择转换为Application。它在这里.. http://www.windowstechinfo.com/2014/09/solved-an-error-occurred-during.html
有时会发生以下情况:
如果在此之后“突然”发生,并且您的代码存在构建时错误,请先尝试修复这些错误。
发生的是,在构建解决方案时,会创建DLL文件并将其存储在项目bin文件夹中。如果在构建期间代码中存在错误,则无法正确创建DLL文件,从而导致错误。
“快速修复”将修复所有错误或将其注释掉(如果它们不会影响其他网页。)然后重建项目/解决方案
如果这不起作用,那么尝试更改:CodeBehind =“blahblahblah.aspx.cs”
to:CodeFile =“blahblahblah.aspx.cs”
注意:将“blahblahblah”更改为页面实名。
我已经解决了这个问题。解决方案是不手动创建虚拟目录,然后在此处复制应用程序文件,但使用“添加应用程序...”选项。这是帮助我qazxsw poi的帖子
尝试将http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/7ad2acb0-42ca-4ee8-9161-681689b60dda/更改为CodeBehind="Default.aspx.cs"
我这样解决了。
转到项目文件,让我们说项目/名称/ bin并删除bin文件夹中的所有内容。 (这会给你另一个错误,你可以用这种方式解决)
然后在您的visual studio中右键单击项目的References文件夹,打开NuGet Package Manager。
转到浏览并安装“DotNetCompilerPlatform”。
当我在其中一个ASHX文件中出现编程错误时遇到同样的错误:它是通过复制另一个文件创建的,并在代码隐藏语句中继承了它的类名。当所有ASPX和ASHX文件在本地IIS Express中运行时没有错误,但一旦部署到服务器,它们就停止工作(所有这些)。
一旦我找到一个ASHX页面并修复了类名以反映其自己的类名,所有ASPX和ASHX文件在IIS中都可以正常工作。
IIS 7或IIS 8或8.5版本 - 如果要从2003迁移到2012/2008,请确保Web服务处于应用程序类型而不是虚拟目录
就我而言,在IIS中本地部署了新的代码分支和旧的代码分支。所以它指向了不可用的旧分支代码。所以我已经使用新分支将我的代码部署到IIS,现在它正在运行。