当我使用VS代码构建和运行(dotnet run) ASP.NET Core项目时,我得到以下两条错误消息:
obj/Debug/netcoreapp2.1/Razor/Views/Product/List.g.cshtml.cs(28,88):error CS0246:无法找到类型或命名空间名称'ProductsListViewModel‘(您是缺少了一个使用指令还是程序集引用?)/User/pedram/OneDrive- House of Friends AB/visualstudioonmacprojects/SportsStore/SportsStore.csproj obj/Debug/netcoreapp2.1/Razor/Views/Product/List.g.cshtml.cs(128,71):error CS0246:无法找到类型或命名空间名称'ProductsListViewModel‘(您是缺少了一个使用指令还是程序集引用?)/User/pedram/OneDrive- House of Friends AB/visualstudioonmacprojects/SportsStore/SportsStore.csproj 构建失败了。请修复生成错误并再次运行。
当我导航到提到的文件时,我意识到需要在两个地方使用全名ProductsListViewModel来处理类SportsStore.Models.ViewModels.ProductsListViewModel,这样项目才能正确构建。但这只能在下一次构建之前解决问题。
在构建之前清理项目(dotnet clean)似乎也没有帮助。
我对obj文件夹中发生的事情没有太多的控制。是什么导致了这个缺失的命名空间问题?
更新:
/Views/Product/List.cshtml含量
@model ProductsListViewModel
@foreach (var p in Model.Products) {
@Html.Partial("ProductSummary", p)
}
<div page-model="@Model.PagingInfo" page-action="List" page-classes-enabled="true"
page-class="btn" page-class-normal="btn-secondary"
page-class-selected="btn-primary" class="btn-group pull-right m-1">
</div>发布于 2018-10-24 12:21:11
在.cshtml文件的第一行中,声明视图中使用的模型的类型。从错误消息中可以清楚地看到,ProductsListViewModel无法被解析。要解决这个问题,您至少有两个选择:
@model SportsStore.Models.ViewModels.ProductsListViewModel,这是一个完全限定的名称.@using,如下所示:
@using SportsStore.Models.ViewModels @model ProductsListViewModel这主要是你应该选择哪一个的首选问题。
Visual似乎不像Visual那样支持Razor文件--它似乎有很好的语法--高亮显示支持,但似乎没有编译.cshtml文件以发现像您正在使用的编译错误。
首先修改的文件(List.g.cshtml.cs)是一个生成的文件,它是在处理.cshtml文件时生成的,不应该修改。如果您确实修改了它,它将在下一次处理源.cshtml文件时被替换。
https://stackoverflow.com/questions/52968632
复制相似问题