EDIT: Ich habe überprüft und versucht eine Menge der anderen Assembly nicht referenzierte Probleme auf SE gefunden, aber ich habe nicht viele finden, was ein eingebaut sein sollte Montage (System.Collections.Generic.List<t>
). Dies macht es schwierig, die Referenz manuell hinzuzufügen oder zu entfernen.Assembly Nicht referenziert Kompilierung Fehler in Foreach-Schleife in Razor Ansicht
Ich versuche, eine PartialView von einer API-Antwort zu erstellen. Ich habe bestätigt, dass die Antwort korrekt und wohlgeformt ist, meine Objekte werden korrekt erstellt, aber wenn ich die Teilansicht erzeuge, wird stattdessen ein Kompilierungsfehler angezeigt. Hier
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'.
ist die Razor Ansicht:
@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>
Und hier ist die Datenklassendefinition:
public class Data
{
public string Key { get; set; }
public string Value { get; set; }
public string Source { get; set; }
public Status Status { get; set; }
}
Wo-Status eine Enumeration ist. Ich habe in Debugging eingecheckt, dass das Model-Objekt korrekt und wohlgeformt ist, bevor es an das PartialView übergeben wird, aber anstelle eines korrekten Layouts erhalte ich den Serverfehlerbildschirm und eine 500-Antwort.
an der Linie @foreach (Data metric in Model.Metrics)
Aktionscode auf Vollständigkeit:
public ActionResult ComponentDetail(string id)
{
var data = Client.GetComponentData(id.DecodeBase64ToString());
var partialViewResult = PartialView("_ComponentDetail", data);
return partialViewResult;
}
mögliche Duplikate von [Der Typ ist in einer Baugruppe definiert, die nicht referenziert ist, wie die Ursache gefunden wird?] (Http://stackoverflow.com/questions/20660999/the-type-is-defined-in-an- - Assembly-das-ist-nicht-referenziert-wie-zu-finden-die-Ursache) –
@ Bjørn-RogerKringsjå Ich habe eine Bearbeitung erklärt, aber ich denke, die Herausforderung hier im Vergleich zu den vielen anderen "Nicht referenzierten" SE Fragen sind, dass sie in erster Linie entweder mit a) ReSharper "kann nicht lösen Symbol" -Fehler (nicht mit R #), oder b) Benutzerbibliotheken, im Gegensatz zu integrierten Typenliste Liste –
agc93
Haben Sie versuchen, '@ hinzufügen using System.Collections.Generic'? –