![](/img/trans.png)
[英]Getting error: Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment' threw an exception
[英]Compilation error with missing Microsoft.WindowsAzure.ServiceRuntime.RoleEntryPoint
我正在嘗試擴展默認的webrole模板。 我添加了一個新的實體模型並為其創建了骨架框架。 嘗試加載索引頁時,顯示服務器錯誤。
“類型'Microsoft.WindowsAzure.ServiceRuntime.RoleEntryPoint'在未引用的程序集中定義。您必須添加對程序集'Microsoft.WindowsAzure.ServiceRuntime,Version = 2.3.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'的引用“。
我已經仔細檢查過WebRole是否包含此引用,並且確實如此。 我可以通過將此引用“復制本地”屬性設置為true來解決此錯誤。
如果執行此操作,錯誤將更改為“類型'WebRole.WebRole'中不存在類型名稱'Models'”
這兩個錯誤都是從Index.cshtml文件拋出的,特別是在行上:
公共類_Page_Views_BankAccount_Index_cshtml: System.Web.Mvc.WebViewPage<IEnumerable<WebRole.Models.BankAccount>> {
是什么原因造成的?
您在視圖編譯中缺少引用。
視圖編譯器使用一組不同的引用,並且要使模型正常工作,您需要在web.config中添加引用
例如:
<configuration>
<system.web>
<assemblies>
<add assembly="YourAssembly, Version=4.0.0.0, Culture=neutral, PublicKeyToken=TOKENKEY" />
</assemblies>
</system.web>
</configuration>
我知道它很舊,但可能會對其他人有所幫助。
當使用名稱WebRole創建Web項目(將項目放置在與Microsoft.WindowsAzure.ServiceRuntime dll相同的名稱空間中)時,由於Windows Azure Cloud Service的默認項目中的沖突而發生此錯誤。 要修復,有兩個簡單的選項:
替換此代碼
@model WebRole.Models.RegisterViewModel
並添加using語句和不帶名稱空間的模型
@using WebRole.Models
@model RegisterViewModel
或者,可以在views。文件夾內的web.config中添加一個名稱空間(而不是根目錄中的名稱空間)
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
-----
<add namespace="WebRole.Models" />
</namespaces>
</pages>
在您的視圖上,只需將現有代碼替換為
@model RegisterViewModel
希望能幫助到你。
您是否安裝了正確版本的Azure工具? 我知道,只有在缺少Azure工具庫時才會出現此錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.