我有一個MVC4 + EF4.0 .NET 4.5項目(比如說,MyProject
)我能夠在本地運行項目就好了。當我FTP部署它到Azure網站(而不是雲服務)它也運行良好。但是,如果我做了GIT部署,該網站大部分都會「運行」,直到它執行一些EF5.0數據庫操作。我收到一個例外Unable to load the specified metadata resource
。Azure網站GIT部署:服務器編譯.DLL不同於本地構建.DLL
在調試我發現,如果我:
- GIT(如前)部署整個MVC4項目
- FTP中,然後替換
bin\MyProject.dll
用,我只是在本地建立了bin\MyProject.dll
文件(Windows 8 64位,VS2012,Oct'12天青工具)在GIT推後(即相同的源)
然後Azure託管網站運行得很好(甚至EF5.0數據庫功能部分)。
本地構建的.dll比Azure GIT發佈內置的大大約5KB,並且都是「發佈」模式。很顯然,在GIT推動之後構建的項目(在Azure內部)的構建方式與在我自己的PC上構建的方式不同。我檢查了門戶網站並將其設置爲.NET 4.5。我也是GIT推動整個解決方案文件夾(只有一個項目),而不僅僅是小部件。
當我加載本地建造以及遠程內置MyProject.dll文件,我注意到以下區別(FrameworkDisplayName)
地方:
System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5"),
遠程:
System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ""),
任何人都知道爲什麼會發生這種情況以及該修補程序可能是什麼?
謝謝,但這個錯誤修改每個註釋的自定義腳本中票收益率我會很高興:'遠程:創建目錄「c:\ output」。 remote:D:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web \ Microsoft.Web.Publishing.targets(3083,5):錯誤MSB3191:無法創建目錄「c:\ output」 。訪問路徑'c:\ output'被拒絕。 [C:\ DWASFiles \網站\ MyProject的\ VirtualDirectory0 \站點\庫\ MyProject的\ MyProject.csproj]'。我想我需要修復輸出文件夾名稱。什麼是約定? – DeepSpace101
沒關係,修復它。發佈下面的修復。沒有指針就無法完成它,謝謝! – DeepSpace101
太棒了!請標記爲答案,如果解決了你的問題:) –