2017-04-19 134 views
3

我正在嘗試使用ASP.NET Core開發帶有插件的網站。我有我的主要項目,asp.net web應用程序,它工作正常。我有一個控制器的類庫項目也很好,我有問題的意見。當我打開* .cshtml文件時,我可以看到Razor不起作用 - @using,@model和其他指令無法識別,並且intellisense不起作用。當我的模型將鼠標懸停在我給出從標題錯誤:ASP.NET Core中當前上下文中不存在名稱'model'

名稱「模型」不存在當前背景下ASP.NET核心

存在我使用EmbeddedFileProvider用於發現意見和他們'被標記爲嵌入式資源。當我運行應用程序一切正常 - 視圖呈現正確。我唯一的問題是Visual Studio中的誤報錯誤。我GOOGLE了和有類似的問題,但主要是ASP.NET MVC,而不是核心 - like here。我認爲類庫配置中缺少一些東西,但我不確定究竟是什麼。

+0

請按照下列步驟操作:https://stackoverflow.com/a/33764916/6557649適用於我 –

回答

9

新的csproj文件在頂級「Project」元素中有一個「Sdk」屬性。當您創建一個新的Web應用程序,這被設置爲「網絡」 SDK:

<Project Sdk="Microsoft.NET.Sdk.Web">...</Project> 

當您添加/創建一個類庫,它默認爲標準的非Web SDK:

<Project Sdk="Microsoft.NET.Sdk">...</Project> 

據我所知,Web SDK導入了額外的任務,以允許對Web資源進行設計時處理,例如Razor視圖。 將您的插件庫中的SDK更改爲Web。

「網絡」項目的另一個參數是其輸出在默認情況下的EXE,所以也添加到您的插件的csproj:

<PropertyGroup> 
    <OutputType>Library</OutputType> 
</PropertyGroup> 
+0

謝謝!正是我從舊的project.json升級到新的VS17類型時丟失了什麼。我的項目是Microsoft.Net.Sdk而不是sdk.web – Yablargo

+2

我有同樣的問題,在MVC網站項目中,它具有sdk指令,正如你所說的,但是,模型,模型類型並沒有被重新設計和強調爲所有錯誤意見 –

0

您可以通過只重新安裝或修復Visual Studio中解決這個問題安裝。可以通過打開安裝程序並按修復來完成修復。

即使使用安裝程序進行VS更新也可以解決此問題。

但有一點需要說:這種方式真的很耗時!

相關問題