2012-07-21 89 views
35

我收到以下錯誤:「解析服務請求所需的資源時發生錯誤。請查看以下特定的解析錯誤詳細信息並適當修改源文件。 「解析器錯誤:'/'中的服務器錯誤應用

Parser Error Message: `Could not load type 'nadeem.MvcApplication'`. 
Source Error: Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="nadeem.MvcApplication" Language="C#" %> 
+1

請確保您的項目的DLL處於正確的路徑。你可以在你的項目之外的另一個文件夾中設置*輸出路徑*,例如,當項目運行並在'bin'文件夾中搜索DLL時,它找不到它們。 – 2012-12-12 11:26:27

+1

如果這是因爲你改變了默認的輸出目錄,你可以這樣使用:http://stackoverflow.com/a/26237022/1900498 – qakmak 2014-10-07 13:23:53

+0

你們都不會相信這個,但是我們解決方案中的這個項目不是在解決方案配置管理器中選擇構建,因此*有* *在/ bin中沒有創建DLL!只要確保您的項目被選定在配置管理器中構建.... – jbwebtech 2015-08-04 21:36:00

回答

54

用鼠標右鍵單擊您的Global.asax文件,然後單擊View Markup。您將看到屬性Inherits="nadeem.MvcApplication"。這意味着您的Global.asax文件正嘗試從類型nadeem.MvcApplication繼承。

現在雙擊您的Global.asax文件,看看您的Global.asax.cs文件中指定的類名是什麼。它應該看起來像這樣:

namespace nadeem 
{ 
    public class MvcApplication: System.Web.HttpApplication 
    { 
    .... 

如果沒有,那麼您將收到您收到的錯誤。 Global.asax文件的Inherits屬性中的值必須匹配從System.Web.HttpApplication派生的類型。

+1

我面臨同樣的問題,如上所述。無論答案詳細說明你所有的事情都一樣討論你,但仍然是我的錯誤相同 – dilipkumar1007 2014-05-05 12:17:31

8

因爲通常你創建一個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中清理並重建項目。當我得到這個錯誤時,這對我有效。

+0

這些都不適用於我,我無法編譯我的應用程序與Global.asax文件夾那裏。是否可以刪除它並重新添加文件? – Maverick 2013-11-19 04:12:04

4

凱文回答。我正在更改我的MVC項目中的項目名稱和命名空間。當我運行應用程序時,我得到了同樣的錯誤「Line 1:<%.....」。

爲了解決這個問題,我需要更新內Global.asaxRight Click - >View Markup)的命名空間然後在Inherits屬性更新此爲「<correct root namespace for MVC project>.MvcApplication」。

0

只是簡單地將項目複製到另一個位置,並運行它的工作我想是因爲清洗的問題沒有正確完成,並有可能成爲輸出/ bin中

0

當我得到這個錯誤是設定變更我刪除並recloned Git文件夾後;發生了什麼是我忘了在VS2010中構建解決方案。只要我建立它,一切運作良好。有時候這很簡單。

+0

是的,我開始得到這個錯誤沒有很好的理由,清理和重建解決方案,並且錯誤消失。 – 2014-10-06 07:08:47

4

案件已解決,但如果您的項目正在構建到與IIS_Virtual_Directory \ bin不同的目錄並且dll丟失,您也可能會遇到此錯誤。

+0

這就是我的情況 – 2014-01-07 19:57:07

5
  1. 轉到項目屬性在頁面底部
  2. 看輸出路徑
  3. 更改路徑:BIN \
  4. 保存並運行項目
+0

這對我有效。 – Thasneem 2015-05-21 05:32:42

+0

最後!!!這裏交配,有一個很棒的餅乾! – 2017-03-28 15:43:57

39

我有此相同的問題時,我將項目源下載到兩個位置。問題原來是通過下載源代碼改變了網站虛擬目錄的位置,因爲我沒有重建第二個源代碼,那裏沒有DLL。

  1. 要解決這個問題打開要建立並轉到 網站的屬性(Project菜單)
  2. 爲 項目創建的虛擬目錄的項目。
  3. 重建項目。

固定

+3

感謝上帝我已經偶然發現了這一點。否則演示將是一場災難...... – 2014-12-07 03:38:21

+0

這解決了我的問題 – zish 2015-05-01 10:01:29

+0

感謝您的支持! – sindrem 2015-05-08 08:51:07

0

在我的情況我得到同樣的錯誤。我使用git和Source Tree進行版本控制。在我的情況下,在項目中啓用了git,但我沒有使用Visual Studio來提交我的提交等。我正在使用源代碼樹。這其實並不重要,我用的是什麼問題是,Visual Studio中已經把下面一行到我gitignore文件:

#Build Results 
[Bb]in/ 

,這是忽略了bin文件夾,所以我的bin文件夾中從來沒有得到被推到服務器,一旦我刪除該行並提交整個bin目錄並將其推送到服務器,然後去服務器,並做了一個git拉。 bin文件夾出現了,一切開始運作!

順便說一句,我的最終gitignore文件(#Build結果)節結束這樣看:

# Build results 

[Dd]ebug/ 
[Rr]elease/ 
x64/ 
build/ 
[Oo]bj/ 

進出口仍然不確定,如果我需要obj的文件夾推送到服務器,但一切正常現在。

8

通過我的所有項目將在我的解決方案來編譯輸出到斌\調試斌\發佈後,這個問題開始了我。我終於意識到,啓動項目(即使用global.asax的項目)只需輸出到bin

+0

這個建議是爲我工作的 – yubaolee 2017-06-19 03:55:14

0

在我的情況的解決方案是未來:

  1. 驗證Global.asax中的標記,在屬性繼承我有這個繼承=「NameOfMyProject.Global」
  2. 然後,驗證在Global.asax.cs中,我發現這一點:

    公共類Global_asax:System.Web.HttpApplication

  3. 因此,我CH anged屬性繼承在我的Global.asax,終於標記是下一個:

    繼承=「NameOfMyProject.Global_asax」

  4. 另外,我開始了:ASP.NET狀態服務,在管理工具。然後,我的應用程序正常運行。

0

我正在從視頻資源中學習,並在被告知在視圖中按Ctrl-F5以便直接加載它時遇到此錯誤。通過這樣做,我遇到了您發佈的同一條錯誤消息。

爲了解決這個問題,我構建瞭解決方案(Build> Build Solution或Ctrl + Shift + B),然後重試。

0

在我的情況下,如果使用默認項目以外的文件夾(在D盤上爲naprmer,在Windows中),則幫助: ,然後更改爲默認文件夾,創建項目並運行它。然後再次,您可以在所需的文件夾中創建項目。奇怪。但這對我的情況有所幫助。

0

這發生在我身上,當時我試圖合併兩個解決方案。 問題是命名空間在所有文件中配置不當。 @Kevin Aenmey答案解決了故事的一部分,但許多其他人的答案不是!

所以對我來說唯一的辦法是爲尋找舊的命名空間的整體解決方案,並與新的namespace.maybe不是最好的選擇全部更換,但運氣不好的情況下工作良好

0

此錯誤會導致在命名空間被重命名。

-

  1. Go to Folder Explore (Don't Use Solution Explore) . Find Global.asax File

enter image description here

  1. Open File (in Notepad/any editor) and Change Replace Old namespace name New Namespace

enter image description here

  1. Save It should work now..
0

我有同樣的問題,那是因爲我沒有構建解決方案。菜鳥的錯誤。只是:構建解決方案(Ctrl + Shift + b)

0

在我的解決方案中添加新項目後出現此問題。建立的解決方案沒有問題 - 但是在運行時遭到轟炸。

事實證明,新項目默認設置爲.NET 4.6.1,而mhy解決方案中的所有其他項均以.NET 4.5爲目標。

將新項目中的目標框架更改爲.NET 4.5,以便其他人修復此問題。

(感謝對一個微軟的傢伙沒有警告)

0

我用FTP上傳DLL是我網站的服務器上,但有時當網站的主要DLL尚未上載正確這個錯誤發生服務器。

因此,我建議你重建你的項目和再重新上傳主DLL小號在服務器上。