0

我們在MVC 3和Visual Studio 2010中有一個Web應用程序,現在我們安裝了Visual Studio 2012,並發現dll「System.Web」的問題。 WebPages「,現在版本是2.0.0.0,之前是1.0.0.0。安裝後System.web.webpages運行錯誤Visual Studio 2012

在我的電腦既視覺工作室是沒有問題的,但如果我發佈該項目,並在IIS中創建一個應用程序目錄,在另一臺電腦,沒有視覺工作室,下面的錯誤是在Web瀏覽器中倒掉:

**Could not load file or assembly 'System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.** 

我們已經嘗試將dll放入發佈文件夾中,同樣的問題正在發生。 我們試圖把下面的代碼在web.config中太:

<dependentAssembly> 
     <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="2.0.0.0" /> 
</dependentAssembly> 

OBS:在Visual Studio 2010 不要使用的Visual Studio 2012

回答

1

你是我發佈項目由於程序集引用或配置問題而出現此錯誤。您可以通過在nuget控制檯中執行以下命令(Tools -> Library Package Manager -> Package Manager Console)輕鬆修復它。

Install-Package AspNetMvc -Version 3.0.20105.0 

它會自動添加所有需要的引用並對其進行配置。安裝完成後,重建併發布應用程序。


如果你正在使用Visual Studio 2010 SP1,您可以右鍵單擊該項目並選擇「添加部署大會」。選擇ASP.NET MVC 3選項。這會將MVC程序集添加到一個特殊的目錄中,以確保它們在構建/發佈Web應用程序時位於bin目錄中。

Source

+0

謝謝,這解決了我的問題。 但我不明白爲什麼這個問題發生在我安裝vs 2012之後,你能告訴我嗎? –

+0

這意味着,在安裝vs-2012之前,發佈工作是一次性完成的嗎?我相信,這個問題並不是因爲vs-2012的安裝。你可能會錯過循環中的某些東西。 – NaveenBhat

相關問題