c# - Razor View 中 foreach 循环中的 Assembly Not Referenced 编译错误

标签 c# asp.net-mvc razor collections iis-express

编辑:我已经检查并尝试了在 SE 上发现的许多其他程序集未引用问题,但我没有发现很多处理应该是内置程序集的问题(System.Collections.Generic.List<t>)。这使得手动添加或删除引用等变得困难。

我正在尝试从 API 响应构建 PartialView。我已确认响应正确且格式正确,我的对象正在正确构建,但是当我生成局部 View 时,显示的是编译错误。

Compiler Error Message: CS0012: The type 'System.Collections.Generic.List`1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

这是 Razor View :

@using OpsComponent
@model OpsComponent.ComponentData

<div class="row">
    <div class="col-md-6">
        <ul class="list-group">
            @foreach (Data metric in Model.Metrics)
            {
                <li class="list-group-item">
                    <span class="badge">@metric.Value</span>
                    @metric.Key<br/>
                </li>
            }

        </ul>
    </div>
</div>

这里是数据类定义:

public class Data
    {
        public string Key { get; set; }
        public string Value { get; set; }
        public string Source { get; set; }
        public Status Status { get; set; }

    }

其中 Status 是一个枚举。在将模型对象传递给 PartialView 之前,我已在调试中检查它是否正确且格式正确,但我得到的不是正确的布局,而是服务器错误屏幕和 500 响应。

@foreach (Data metric in Model.Metrics)

完整性操作代码:

public ActionResult ComponentDetail(string id)
        {
            var data = Client.GetComponentData(id.DecodeBase64ToString());
            var partialViewResult = PartialView("_ComponentDetail", data);
            return partialViewResult;
        }

最佳答案

我已经弄明白了,而且非常简单。我仍然不知道为什么这是必要的,但添加了一个新的 assembly标记为 web.config似乎已经解决了这个问题。我添加的标签在 <compilation> 下标记如下:

<assemblies>
    <add assembly="System.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</assemblies>

简单,但已解决错误并且 View 现在可以正确呈现。

关于c# - Razor View 中 foreach 循环中的 Assembly Not Referenced 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29575216/

相关文章:

visual-studio - Visual Studio 中的 Xamarin Razor 模板

javascript - 更新购物车中的值

c# - 在 LINQ 查询中返回没有时间的日期

c# 和 excel 自动化 - 结束正在运行的实例

c# - 如何在负索引处启动数组 C#(UNITY)

asp.net-mvc - Redis 缓存不适用于 Asp.net 核心

asp.net - 无需使用 Office 自动化即可将 Office 文档转换为 PDF 的开源解决方案

asp.net-mvc - 如何使用 displayfor 从模型中获取枚举到 View 中

c# - 使用参数和只放置一个变量然后转换它有什么区别

c# - MVC 路由有冲突