ASP Core 2.0 VS 2017でコントローラーを足場するとき、私は以下を取得します:
DbContextのリフレクションタイプを取得できませんでした:
BE.Data.ApplicationDbContext at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.b__6_0()at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String [] args)at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.Execute(String [ ] args)Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String [] args)で
これは突然起こりました、そして同じコードを実行している同僚はこの問題を得ません、私はクリーンビルドを試み、各プロジェクトのbinとobjフォルダーを削除しました、dbを削除しましたが、それでもうまくいかないようです、どんな助けにも感謝します。
モデル:
public class SettingType : BaseModel
{
public int SettingTypeId { get; set; }
public string SettingTypeDescription { get; set; }
public string SystemCode { get; set; }
}
私もこの問題を抱えていました。新しいC#7機能( 式のボディメンバーとスロー式 )を使用していたときに、コードをC#6の同等のコードに置き換えると、エラーはもうありません。 C#7の新機能なしでプロジェクトをテストしてみてください。おそらく問題なく動作するはずです。理由はわかりませんが、足場が依存するRoslynパッケージはC#7の新機能をまだサポートしていません。
スキャフォールディングをC#7で機能させるための回避策として、次のことを実行できると思います。
Microsoft.CodeAnalysis.CSharp.Workspaces
バージョン2.0.0以降Scaffold-DbContextコマンドでEFモデルを生成すると警告が表示され、このエラーが発生します。その後、まずScaffold-DbContextの警告を修正すると、足場かみそりアイテムが正常に機能します。