我的本地版本的代碼運行得很好。但是,當我做了網絡部署,我收到以下異常:DotNetOpenAuth導致無法加載Assembly System.Web.WebPages.Razor
無法加載文件或程序集「System.Web.WebPages.Razor,版本= 2.0.0.0,文化=中性公鑰= 31bf3856ad364e35」或它的一個依賴。定位的程序集清單定義與程序集引用不匹配。 (從HRESULT異常:0x80131040)
相關堆棧跟蹤線是
[FileLoadException:未能加載文件或程序集「System.Web.WebPages.Razor,版本= 2.0.0.0,文化=中立,PublicKeyToken = 31bf3856ad364e35'或其依賴項之一。定位的程序集清單定義與程序集引用不匹配。 (異常來自HRESULT:0x80131040)] Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start()+0
這似乎是相關的事實是,NuGet包Razor的是3.0版,但DotNetOpenAuth軟件包使用版本2.0
另外這個問題只發生在我部署到我的Azure網站時。 (我目前使用免費網站,而不是webrole/workrole的東西)。我使用webdeploy,它在以前的版本中工作正常,但我相信這與nuget軟件包有關。
更新: 我無法解決此問題。我試圖通過FTP部署,在部署之前刪除整個文件夾,但這也不起作用。 Nuget一直是一場噩夢。
看看這個http://stackoverflow.com/questions/19741860/cannot-utilize-simplemembership-features-when-hosting-on-azure – WannaCSharp
我看到那篇文章,我添加了一切都是本地複製真實。但是我在這裏看到的這個問題是,一個包(Open Auth)引用了剃刀dll的第2版,而我從mvc項目獲得了剃刀dll的第3版。 – DanScan
@DanScan - 不確定你是否仍然有這個問題,但遲到的評論使我重新訪問我的文章,並添加了一些額外的信息。 – Tommy