2013-02-20 125 views
13

我的ASP.Net項目運行良好,突然發生電源故障。當我運行我的網絡應用程序時,它現在顯示了很多'jquery'不是有效的腳本名稱。該名稱必須以'.js'結尾

Could not load assembly Sanitizer..." then "Could not load "HtmlAgility...

錯誤。我可以通過卸載/使用管理NuGet包解決方案在Visual Studio中2012

重新安裝它們可是現在我遇到了另一個錯誤來解決這些以前的錯誤:

'jquery' is not a valid script name. The name must end in '.js'."

我試圖做同樣的事情重新安裝包,但它不起作用。我該怎麼做才能解決這個問題?我的根\ Scripts文件夾中已經有一個jquery.js文件。我還在我的部分添加了對此文件的引用:

<script src="Scripts/jquery.js"></script> 

但仍然無效。請幫忙。

+1

如果它位於項目的根目錄中,則可能需要一個絕對路徑:'/ Scripts/jquery.js'。但是,這取決於引用文件的位置。 – Jivings 2013-02-20 07:53:10

+1

我試過了,但它不工作...

1

感謝您發佈您的後續答案。在將jQuery.UI安裝到基於VS.NET 2013中的新ASP.NET ASP.NET模板的新ASP.NET Web窗體項目中並將此行添加到母版頁的腳本管理器後,我得到了同樣的錯誤:

<asp:ScriptReference Name="jquery.ui.combined" /> 

如您所述安裝了AspNet.ScriptManager.jQuery.UI.Combined NuGet包之後,立即解決了該錯誤。

+0

你是如何解決這個問題的?NuGet安裝順序是什麼? – MC9000 2014-04-09 22:21:49

1

我有類似的情況,已經有腳本引用(上面),但我也需要確保dll被複制到本地文件夾。

F4上的AspNet.ScriptManager.jQuery和AspNet.ScriptManager.jQuery.UI.Combined並設置複製本地爲True。

2

我有類似的情況,但我試圖更新DotNetOpenAuth.Core後發生了。首先它說我需要更新NuGet,這是我做的,然後我更新了OpenAuth。之後,我開始獲得「'jquery'不是有效的腳本名稱,名稱必須以'.js'結尾。」

如果我刪除行加入jQuery的包,它會發生在jQuery的UI等

我卸載並重新安裝AspNet.ScriptManager.jQuery和AspNet.ScriptManager.Bootstrap兩種封裝(因爲它最終會抱怨),並且仍然沒有運氣。

我做的最後一步是從軟件包管理器控制檯卸載並重新安裝AjaxControlToolkit,併爲我解決了這個問題。

-2

將此項添加到您的網站。配置和問題將得到解決:

<appSettings> 
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" /> 
</appSettings> 
1

這裏是工作的解決方案

Open Global.asax in your solution

下面的代碼複製只是相應地修改您的jQuery的版本,並將其粘貼Global.asax

 ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition 
     { 
      Path = "~/Scripts/jquery-1.10.2.min.js", 
      DebugPath = "~/Scripts/jquery-1.10.2.js", 
      CdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js", 
      CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.js", 
      CdnSupportsSecureConnection = true, 
      LoadSuccessExpression = "window.jQuery" 
     }); 

    ScriptManager.ScriptResourceMapping.AddDefinition("jquery.ui.combined", new ScriptResourceDefinition 
    { 
     Path = "~/Scripts/jquery-ui-1.10.2.min.js", 
     DebugPath = "~/Scripts/jquery-ui-1.10.2.js", 
     CdnPath = "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.2/jquery-ui.min.js", 
     CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.2/jquery-ui.js", 
     CdnSupportsSecureConnection = true 
    }); 
     ScriptManager.ScriptResourceMapping.AddDefinition("bootstrap", new ScriptResourceDefinition 
    { 
     Path = "~/Scripts/bootstrap.min.js", 
     DebugPath = "~/Scripts/bootstrap.js", 
     CdnPath = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js", 
     CdnDebugPath = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js", 
     CdnSupportsSecureConnection = true 
    }); 
3

Application_Start事件中就我而言,我必須添加這兩個dll作爲我的項目的參考。

enter image description here

3

右鍵單擊您的項目並轉到管理的NuGet包,然後只需安裝

AspNet.ScriptManager.jQuery.UI.Combined

AspNet.ScriptManager.jQuery

0

可能晚了一點,但我有同樣的問題,並嘗試了以上和其他網頁上的許多解決方案。無論引用是什麼,我都會在最後一個腳本引用中看到錯誤。我終於決定刪除所有的腳本引用,並使用bundle。例如,默認的應用程序在bundles.config如下:

bundles.Add(new ScriptBundle("~/bundles/MsAjaxJs").Include(
    "~/Scripts/WebForms/MsAjax/MicrosoftAjax.js", 

ScriptManager.ScriptResourceMapping.AddDefinition(
    "respond", 
    new ScriptResourceDefinition 
    { 
     Path = "~/Scripts/respond.min.js", 
     DebugPath = "~/Scripts/respond.js", 
    } 
); 

所以我改變了「迴應」的捆綁,而不是一個腳本參考:

bundles.Add(new ScriptBundle("~/bundles/respond").Include(
    "~/Scripts/respond-1.4.2.js")); 

與所有其他腳本引用一起,和它們添加到母版頁標題:

<asp:PlaceHolder runat="server"> 
    <%: Scripts.Render("~/bundles/WebFormsJs") %> 
    <%: Scripts.Render("~/bundles/MsAjaxJs") %> 
    <%: Scripts.Render("~/bundles/jquery") %> 
    <%: Scripts.Render("~/bundles/jqueryui") %> 
    <%: Scripts.Render("~/bundles/modernizr") %> 
    <%: Scripts.Render("~/bundles/respond") %> 
</asp:PlaceHolder> 

這樣取出錯誤 - 終於在2天 - 讓我運行一些基本的網頁,包括默認Register.aspx頁面。我不確定接下來會遇到什麼,但是我認爲我會傳遞這一點。

相關問題