2017-04-19 22 views
3

ASP.NET Coreを使用してプラグインを使用してWebサイトを開発しようとしています。私は私の主なプロジェクトは、正常に動作するasp.net Webアプリケーションがあります。私はクラスライブラリのプロジェクトも正常に動作し、私は問題があるビューでコントローラを持っています。 * .cshtmlファイルを開くと、Razorが動作しないことがわかります。@使用、@モデル、その他の指示は認識されず、IntelliSenseは機能しません。私は、ビューと、彼らを発見するためのEmbeddedFileProviderを使用名前 'model'はASP.NETコアの現在のコンテキストに存在しません

名「モデル」のASP.NETコア

に現在のコンテキスト内に存在しない:私はモデルの上に置くと私はタイトルからエラーを与えています埋め込みリソースとしてマークされています。アプリケーションを実行すると、すべてが機能し、ビューが正しくレンダリングされます。私の唯一の問題は、Visual Studioの誤検出エラーです。私はグーグルと同様の問題が、主に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は、RazorビューなどのWebリソースの設計時処理を可能にする追加のタスクをインポートします。 プラグインライブラリをWebに変更します。

「ウェブ」プロジェクトの別のパラメータは、それがデフォルトでEXEを出力するので、またあなたのプラグインのcsprojにこれを追加します。

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

ありがとう!古いproject.jsonから新しいVS17タイプにアップグレードする際に欠けていたものとまったく同じです。私のプロジェクトは、sdk.webの代わりにMicrosoft.Net.Sdkでした。 – Yablargo

+2

MVCのWebサイトプロジェクトで同じ問題がありますが、あなたが言ったようにsdkディレクティブを持っていますが、モデルタイプは再定義されておらず、すべてのミスで下線が引かれています再生回数 –

0

あなたは自分のVisual Studioを再インストールまたは修復することによってこの問題を解決することができますインストール。修理は、インストーラを開き、修理を押して行うことができます。

インストーラを使用してVSアップデートを行っても、この問題は修正されます。

しかし、1つのことを言う必要があります:この方法は本当に時間がかかります!

関連する問題