【发布时间】:2018-11-11 15:59:15
【问题描述】:
Net Core(一般是 ASP.Net)我遵循了一系列在线教程,在使用 EF(DB first)和 ASP.NET core 后遇到了这个错误。
如果我运行它,我会得到这个
编译处理此请求所需的资源时出错。请查看以下特定错误详细信息并适当修改您的源代码。 生成的代码 缺少一个或多个编译参考。确保您的项目正在引用“Microsoft.NET.Sdk.Web”并且“PreserveCompilationContext”属性未设置为 false。 命名空间“Microsoft.AspNetCore.Razor”中不存在类型或命名空间名称“Hosting”(您是否缺少程序集引用?) [程序集:全局::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCore._Views_Home_Index_cshtml),@"mvc.1.0.view",@"/Views/Home/Index.cshtml")] 命名空间“Microsoft.AspNetCore.Razor”中不存在类型或命名空间名称“Hosting”(您是否缺少程序集引用?) [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"9a0db165e84c12ef1478a3e118ff09ac424c3083", @"/Views/Home/Index.cshtml")] 命名空间“Microsoft.AspNetCore.Razor”中不存在类型或命名空间名称“Hosting”(您是否缺少程序集引用?) [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"8868ba9fecd1b49833b2cca21afdef560734f417", @"/Views/_ViewImports.cshtml")] 显示编译源"
从包管理器控制台卸载 Microsoft.VisualStudio.Web.CodeGeneration.Design 后。
它运行良好,但在尝试添加新控制器时...出现此错误
运行所选代码生成器时出错: '方法未找到:'无效 Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations..ctor (Microsoft.EntityFrameworkCore.Design.Internal.IOOperationsReporter, System.Reflection.Assembly, System.Reflection.Assembly)'.'"
【问题讨论】:
-
请帮忙。我是最新的 Visual Studio 2017 ..抱歉不能发布图片,因为我没有足够的声誉
-
您运行的是哪个版本的 ASP.NET Core? CodeGen 被引入 2.1。除了删除 NuGet 之外,您还应该编辑您的项目并确保它不包含在
DotNetCliToolReference中。 -
谢谢@ChrisPratt,但问题是如果我删除包,我将无法添加带有 Ef 的控制器..有出路吗??
-
你误会了。在 2.1 中,这是内置的。您不需要包或工具参考。假设您正在运行 2.1,您尚未确认但似乎很可能,您现在遇到的问题直接归因于包含旧的 CodeGen 工具。一旦所有痕迹都消失了,2.1 代码生成将接管。
-
谢谢,@ChrisPratt,这似乎适用于今天发布的新 Visual Studio 更新,因为它直接针对 .Net Core 2.1 并形成您的建议,我不需要安装 codeGen.Cheers
标签: asp.net asp.net-core asp.net-identity ef-core-2.0