簡體   English   中英

缺少Microsoft.WindowsAzure.ServiceRuntime.RoleEntryPoint的編譯錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM