Este es el error más extraño que he encontrado.El tipo o el nombre del espacio de nombres 'X' no existe en el espacio de nombres 'Y' - en el código generado por VS
Este proyecto web de MVC funcionaba bien hasta hoy. No ha sido trabajado por nadie en un par de semanas.
A pesar de que nada ha cambiado, simplemente ejecutando ahora se traduce en:
The type or namespace name 'ColourboxViewModel' does not exist in the namespace 'CMSModels.ViewModels'
(x5)
The type or namespace name 'Colourbox' does not exist in the namespace 'CMSModels' (are you missing an assembly reference?)
(x1)
Hay una referencia a CMSModels en el proyecto . Eliminar esta referencia me da unos 200 errores extra para cada clase en el espacio de nombres, así que sé que está funcionando, pero no para estos dos errores.
Esta es la línea de código generado el que los puntos de error a:
public class views_colorbox_index_aspx : System.Web.Mvc.ViewPage<IEnumerable<CMSModels.Colourbox>>, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler {
...
public class views_colorbox_content_ascx : System.Web.Mvc.ViewUserControl<CMSModels.ViewModels.ColourboxViewModel> {
Intellisense es recoger la ubicación de ambos CMSModels.ColourBox y CMSModels.ViewModels.ColourboxViewModel.
Estoy completamente perplejo. Cualquier ayuda muy apreciada ya que estoy completamente perdido.
OK He encontrado el problema, pero no la solución.
La clase se define como
public class ColourBoxViewModel
sin embargo, el código generado está buscando una clase de 'ColourboxViewModel'. Observe la letra minúscula B. ¿De dónde obtiene el código de autogen los nombres de las clases? La búsqueda en el proyecto no revela menciones con una letra minúscula b.
El problema es el mismo para la clase ColourBox.
Problema resuelto - y @ František Žiačik tenía razón. Había una carpeta que había sido excluida del proyecto (razón por la cual la búsqueda en todo el proyecto y dentro de las vistas en el estudio visual no encontró nada) que contenía la declaración de herencia tipada incorrectamente. La carpeta excluida se llamó ColorBox cuando fue creada originalmente por los subcontratistas. Esto fue copiado y renombrado como ColourBox por otro desarrollador del equipo que decidió, y cito, "deletrear todo correctamente". Dicho desarrollador ahora solo puede codificar con un hechizo Speak n '.
Intente reconstruir la solución. – SLaks
Esto podría ser un error ReSharper. Lo crucé un par de veces. Como dijo SLaks, trate de limpiar, reconstruir y construir su solución. Si esto no ayuda y está usando TFS, puede intentar cerrar su solución y obtener la última versión de su proyecto desde el control de soruce. – cordellcp3
La reconstrucción produjo el mismo error. Usamos SVN para el control de versiones, sin embargo, obtener una nueva copia del proyecto del repositorio da como resultado el mismo problema. –