我收到以下错误:“解析服务此请求所需的资源时发生错误。请查看以下特定的解析错误详细信息并适当地修改您的源文件。”
Parser Error Message: `Could not load type 'nadeem.MvcApplication'`.
Source Error: Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="nadeem.MvcApplication" Language="C#" %>
我收到以下错误:“解析服务此请求所需的资源时发生错误。请查看以下特定的解析错误详细信息并适当地修改您的源文件。”
Parser Error Message: `Could not load type 'nadeem.MvcApplication'`.
Source Error: Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="nadeem.MvcApplication" Language="C#" %>
右键单击您的Global.asax
文件,然后单击View Markup
。您将看到属性Inherits="nadeem.MvcApplication"
。这意味着您的Global.asax
文件正在尝试从 type 继承nadeem.MvcApplication
。
现在双击您的Global.asax
文件并查看Global.asax.cs
文件中指定的类名是什么。它应该看起来像这样:
namespace nadeem
{
public class MvcApplication: System.Web.HttpApplication
{
....
如果没有,那么您将收到您收到的错误。Inherits
文件属性中的值Global.asax
必须与派生自System.Web.HttpApplication
.
当我将项目源下载到两个位置时,我遇到了完全相同的问题。问题原来是通过下载源它改变了站点的虚拟目录位置,因为我没有重建第二个源,所以那里没有 DLL。
固定的
在我的解决方案中完成我的所有项目以将编译设置为输出到bin\debug和bin\release 之后,这个问题对我来说就开始了。我终于意识到启动项目(即带有global.asax的项目)只需要输出到bin。
由于通常您创建一个 MVC 项目,因此 Global.asax 标记具有以下内容:
<%@ Application Codebehind="Global.asax.cs" Inherits="StackOverflow.MvcApplication" Language="C#" %>
您是否将 Global.asax.cs 放在另一个项目中?如果您已从 Global.asax 中删除 CodeBehind="..." 声明并更改 Inherits="..." 声明以引用 Global.asax.cs 文件中定义的正确命名空间和类名。
如果您尚未移动它,请尝试使用 Web 项目上的上下文菜单在 Visual Studio 中清理然后重建项目。当我收到此错误时,这对我有用。
该案例已解决,但如果您的项目正在构建到与 IIS_Virtual_Directory\bin 不同的目录并且缺少 dll,您也可能会收到此错误。
正如凯文回答的那样。我正在更改我的 MVC 项目中的项目名称和命名空间。当我运行应用程序时,我得到了同样的错误“第 1 行:<% .....”。
为了解决这个问题,我需要更新Global.asax
(Right Click
-> View Markup
)中的命名空间,然后在Inherits
属性中将其更新为“ <correct root namespace for MVC project>.MvcApplication
”。
只需将项目复制到另一个位置并运行它就可以了
当我收到此错误时,是在我删除并重新克隆了一个 Git 文件夹之后;发生的事情是我忘记在 VS2010 中构建解决方案。一旦我建立它,一切都很好。有时它真的很简单。
在我的情况下,我遇到了同样的错误。我正在使用 git 和 Source Tree 进行版本控制。在我的情况下,项目中启用了 git,但我没有使用 Visual Studio 来暂存我的提交等。我使用的是 Source Tree。这并不重要我使用的是什么问题是visual studio已将以下行放入我的gitignore文件中:
#Build Results
[Bb]in/
那是忽略 bin 文件夹,因此我的 bin 文件夹永远不会被推送到服务器,一旦我删除了该行并提交了整个 bin 目录并将其推送到服务器,然后转到服务器并执行了 git pull。bin 文件夹出现了,一切都开始工作了!
顺便说一句,我最终的 gitignore 文件(#Build 结果)部分最终看起来像这样:
# Build results
[Dd]ebug/
[Rr]elease/
x64/
build/
[Oo]bj/
我仍然不确定是否需要将 Obj 文件夹推送到服务器,但现在一切正常。
当我尝试合并两个解决方案时,这发生在我身上。问题是没有在所有文件中正确配置命名空间。故事的一部分用@Kevin Aenmey 的回答解决了,但很多其他的......不是!
所以对我来说唯一的方法是在整个解决方案中搜索旧的命名空间并将它们全部替换为新的命名空间。也许不是最好的选择,但如果运气不好,效果很好
对我来说,从 BIN 文件夹中删除 dll,然后构建项目工作
在我的情况下,它会有所帮助:如果您使用默认项目以外的文件夹(D 驱动器上的 naprmer,在 Windows 的情况下),则更改为默认文件夹,创建项目,运行它。然后,您可以在您想要的文件夹中创建项目。奇怪的。但这对我有帮助。
我正在从视频资源中学习,并在被告知在视图中按 Ctrl-F5 以直接加载它时遇到此错误。通过这样做,我遇到了您发布的相同错误消息。
为了解决这个问题,我构建了解决方案(构建 > 构建解决方案或 Ctrl+Shift+B),然后重试。
我曾经在服务器FTP
上上传DLL
我的网站,但有时当DLL
网站的主要内容没有在服务器上正确上传时会发生此错误。
所以我建议你重建你的项目并再次在服务器上重新上传 main DLL
。
在我的解决方案中添加一个新项目后,我遇到了这个问题。解决方案已构建,没问题 - 但随后在运行时被轰炸。
事实证明,新项目默认设置为以 .NET 4.6.1 为目标,而我的解决方案中的其他所有内容都以 .NET 4.5 为目标。
将新项目中的目标框架更改为 .NET 4.5 以匹配其他框架解决了该问题。
(感谢没有警告那个微软人)
我遇到了同样的问题,那是因为我没有构建解决方案。菜鸟失误。只是:构建解决方案(Ctrl + shift + b)
在我的情况下,解决方案是下一个:
然后,验证 Global.asax.cs,我发现了这个:
公共类 Global_asax : System.Web.HttpApplication
因此,我更改了 Global.asax 中的属性Inherits,最后标记为下一个:
Inherits="NameOfMyProject.Global_asax"
另外,我在管理工具中启动了:ASP.NET 状态服务。然后,我的应用程序运行正常。
在我们的例子中 - 删除已发布的 Intranet 站点的所有内容,并重新发布在调试中运行良好的项目解决了该问题。