EDIT: Ho controllato e tentato molti degli altri problemi di assembly non referenziati trovati in SE, ma non ne ho trovato molti che si occupano di quello che dovrebbe essere un built-in assemblaggio (System.Collections.Generic.List<t>
). Ciò rende difficile aggiungere o rimuovere manualmente il riferimento ecc.Errore di compilazione dell'assembly non referenziato nel ciclo foreach in Razor view
Sto provando a creare un PartialView da una risposta API. Ho confermato che la risposta è corretta e ben strutturata, i miei oggetti sono stati costruiti correttamente, ma quando viene generata la vista parziale, viene invece visualizzato un errore di compilazione.
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'.
Ecco la vista Razor:
@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>
E qui è la definizione della classe di dati:
public class Data
{
public string Key { get; set; }
public string Value { get; set; }
public string Source { get; set; }
public Status Status { get; set; }
}
Dove è stato un enum. Ho verificato in Debug che l'oggetto Model sia corretto e ben formato prima di essere passato a PartialView, ma invece di un layout corretto, ottengo la schermata Errore server e una risposta 500.
alla linea @foreach (Data metric in Model.Metrics)
codice d'azione per la completezza:
public ActionResult ComponentDetail(string id)
{
var data = Client.GetComponentData(id.DecodeBase64ToString());
var partialViewResult = PartialView("_ComponentDetail", data);
return partialViewResult;
}
possibile duplicato di [Il tipo è definito in un assieme a cui non viene fatto riferimento, come trovare la causa?] (Http://stackoverflow.com/questions/20660999/the-type-is-defined-in-an -assemblaggio-non-referenziato-come-trovare-la-causa) –
@ Bjørn-RogerKringsjå Ho aggiunto una modifica che spiega, ma penso che la sfida qui rispetto a molti altri "Not Referenced" SE le domande sono che hanno principalmente a che fare con a) ReSharper "non può risolvere il simbolo" errori (non usando R #), o b) librerie utente, a differenza della lista dei tipi incorporati Lista –
agc93
Hai provato ad aggiungere '@ using System.Collections.Generic'? –