2016-06-08 24 views
0

我在構建WebApi端點,並且已在本地進行了測試,並且運行良好。我已經將它安裝在服務器上並指向另一個服務,但是當它嘗試發送請求時,我得到一個運行時錯誤。當我檢查事件查看器,我的終點是在我發現了這個錯誤:嘗試使用端點時無法加載文件或程序集System.Web.Mvc

Exception type: InvalidOperationException 
Exception message: The pre-application start initialization method PreAppStart on type Microsoft.Web.Mvc.ViewEngineFix threw an exception with the following error message: Could not load file or assembly 'System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.. 
at System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection`1 methods, Func`1 setHostingEnvironmentCultures) 
at System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) 
at System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) 
at System.Web.Compilation.BuildManager.ExecutePreAppStart() 
at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) 

Could not load file or assembly 'System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 
at Microsoft.Web.Mvc.ViewEngineFix.PreAppStart() 

我試圖改變在web.config中的版本號和甚至試圖使原位缺口通過的NuGet設法留住參考目錄System.Web.Mvc.dll但沒有工作。

任何幫助,非常感謝!

+0

它看起來像某種程度上,當我建立的解決方案把它放在服務器上的System.Web.Mvc不復制到解決方案期望它的bin。現在我正在研究這一點。 – SketchyTurtle

回答

0

所以這個問題最終導致「丟失」dll丟失,因爲發佈版本發生時沒有被複制到bin文件夾中。我發現this有關的問題,我用答案的建議。

TLDR;基本上我是如何解決它是手動複製每個DLL,因爲它說它失蹤並跟蹤你必須移動的;在我的情況下,它是4個DLL。

在沒有拋出相同的「Missing」異常之後,通過項目引用下拉菜單並在屬性選項卡中找到「複製本地」行並將其設置爲True以獲取每個缺失引用。

要驗證它是否執行了預期的操作,請右鍵單擊該項目並單擊卸載。然後再次右鍵單擊該項目並編輯csproj文件。找到你缺少的參考資料,並在「提示路徑」下確認它有一個<Private>True</Private>字段。重新加載項目,確保它建立,然後再次嘗試發佈版本,現在dll應該在bin文件夾中。

+0

這是一個類似的解決方案http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx/ – SketchyTurtle

相關問題