El nombre 'InitializeComponent' no existe en el contexto actual

383

Si creo un nuevo proyecto en Visual Studio 2010 SP1 y selecciono "Aplicación WPF" e intento construir la aplicación generada, aparece el error

El nombre 'InitializeComponent' no existe en el contexto actual.

Recibí un error similar esta mañana cuando intenté construir mi proyecto actual. Ayer, no tuve problemas para compilarlo y ejecutarlo.

Creé un nuevo proyecto y recibí el error cada vez que compilaba el proyecto. Acabo de enviar el proyecto a un colega, y él acaba de compilar sin ningún error.

¿Qué está mal?

usuario876402
fuente
3
Este "error" del usuario parece fácil de resolver, solo una definición correcta de x: Class. Hasta que todo esté bien, el desarrollador debería prestar más atención, pero ¿y si no es este error sino un error fantasma con el mismo mensaje de error? Leí MUCHAS soluciones alternativas de vudú a partir de 2012. Sería de gran ayuda para VS un mensaje de error muy claro y, por supuesto, una corrección de errores para los errores fantasmas con el mismo mensaje. Desde 2012, los desarrolladores están cambiando la configuración de compilación de archivos, proyectos, copiando y pegando el proyecto, eliminando archivos de la carpeta de aplicaciones, reiniciando VS, etc. Bravo MS ... ¡un error de 4 años y aún envejeciendo!
juagicre
2
Para futuros lectores de esta pregunta: este problema parece tener muchas fuentes posibles. En mi caso, las primeras respuestas no ayudaron, pero una de las respuestas más abajo fue correcta.
MOnsDaR
El espacio de nombres @MOnsDaR del archivo Designer fue el problema para mí.
Ctrl S
Si bien esto puede ser causado por muchas cosas (espacio de nombres renombrado \ Tipo de página - MSBuild), finalmente encontré la solución para lo que lo estaba causando en el proyecto que heredé. En los archivos .csproj, tuve que cambiar la "versión de herramientas" de 4 a 15 (VS 2017).
MrMikeJJ

Respuestas:

737

Me he encontrado con esto un par de veces y sigo olvidando qué lo causa. Me encontré con esto cuando cambié el nombre del espacio de nombres en mi código detrás del archivo pero no en mi XAML.

Así que verifica si has hecho lo mismo.

El espacio de nombres y los nombres de clase deben coincidir, ya que ambos forman parte de una clase parcial

namespace ZZZ
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow
    {
         //...
    }
}

<!-- XAML -->
<Window x:Class="ZZZ.MainWindow">
Sean B
fuente
10
Gracias Sean Vine aquí para publicar esta respuesta aquí, pero ya me ganaste. Esto es exactamente lo que sucedió y resolvió mi problema. Su comentario debería estar más arriba en las listas porque me habría ahorrado 15 minutos.
Magnum
2
Si los nombres de clase no son los mismos, obtendrá el mismo error
reggaeguitar
2
Esta es la respuesta. No estoy seguro de por qué no se ha elegido, pero esto es todo y me encontré con esto codificando algunos Xamarin.Forms.
Marcus Shockley
1
Al refactorizar, asegúrese de incluir comentarios y cadenas (Visual Studio 2015)
Gabriel GM
3
Para mí (en Xamarain.Forms) que usaba un proyecto de "Inicio rápido" descargado de Azure, era el espacio en blanco / sangría entre xmlns: x = " schemas.microsoft.com/winfx/2009/xaml " y x: Class que era el problema. ¡Eliminé esto y lo volví a escribir y funcionó!
James
241

La acción de compilación para el archivo .xaml también debe establecerse en "Página", al mover un archivo xaml entre proyectos esta configuración se pierde (al menos en VS 2010).

Segfault
fuente
11
Esto era lo que me estaba pasando. ¡Gracias!
Ignacio Soler Garcia
3
Después de copiar y pegar, sucede que la acción de compilación xaml cambia de la página al contenido
Roberto
44
Todavía sucede en Visual Studio 2012 (Actualización 2)
gumo
8
Todavía sucede en Visual Studio 2013
Chris Ray
77
En serio ... ¿por qué Microsoft, por qué? ¿Me odias a nosotros?
qwertoyo
106

Para aquellos que no tienen errores en modo de depuración, pero hacer tienen el error especificado en modo de lanzamiento (y sin embargo, el proyecto funciona muy bien), aquí es algo sencillo para tratar:

  1. Abra el archivo XAML correspondiente al archivo xaml.cs ofensivo.
  2. Haga una edición: cualquier edición, como agregar un espacio en alguna parte
  3. Guarda el archivo y ciérralo

Este método funcionó para mí en VS 2015 y, según otros usuarios, también en 2017 y 2019

BCA
fuente
3
Eres mi héroe hoy. Gracias
Peter pete
14
Lo suficientemente loco, esto funcionó para mí con VS2015. Y solucionó todos los errores en todos los archivos XAML. Este es un momento realmente WTF.
William Denman el
55
Dang, acabo de quemarme con este otra vez. Afortunadamente, encontré la misma respuesta que ya voté y comenté. Realmente debería, pero esto como una nota post-it en mi monitor.
William Denman
3
Lo mismo en VS2017 y esto lo solucionó.
Hans
2
Todavía funciona en VS2019 ...
soulflyman
29
  1. Navegue al directorio de la solución.
  2. Eliminar la carpeta \ obj
  3. Reconstruir la solución.

Encontré este error durante la refactorización donde cambié el nombre de algunos archivos / carpetas y los archivos * .g.cs de prexisiting necesitaban volver a generarse.

JordanBean
fuente
Parece que tengo el mismo problema, pero esto no funcionó para mí.
LuckyLikey
Haga esto después de verificar que su xaml x:Classcoincida con Namespace.Class.
Jake
tnx. Este simple truco lo hizo por mí.
Gil Adino
26

Hay una razón muy específica para esto, y está en la configuración del proyecto. Esto suele suceder cuando intenta agregar un control / ventana WPF a una biblioteca o proyecto de clase .NET 2.0. La razón de este error es que el proyecto no sabe que está creando un control o ventana WPF y, por lo tanto, intenta construirlo como un proyecto C # 2.0.

La solución implica editar el archivo .csproj. Haga clic derecho en el proyecto que causa el problema y seleccione "Descargar proyecto". Haga clic derecho en el proyecto descargado y seleccione "Editar .csproj". Se abrirá el archivo .csproj y podrá ver el XML. busca la siguiente línea:

<Import Project=…..

Está cerca del final del archivo, y la única línea que tiene es probablemente

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

Esto le dice a Visual Studio que cree el proyecto como un proyecto .NET 2.0. Lo que queremos hacer es decirle a Visual Studio que este es realmente un proyecto WPF, por lo que debemos agregar la siguiente línea:

<Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />

Esta línea le indicará a Visual Studio que cree el proyecto como un proyecto WPF. Ahora su parte inferior del archivo .csproj debería verse así:

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />

Guarde el archivo .csproj, haga clic derecho en el Explorador de soluciones y seleccione la compilación "Recargar proyecto" y listo, ¡listo!

Shailender Singh
fuente
1
Intenté esto antes de escribir esta pregunta y no ayuda. Creo que es un poco extraño que no pueda compilar un nuevo proyecto, pero mi colega puede ...
user876402
1
También lo intenté y no me ayudó. Agregar la nueva importación resultó en una nueva advertencia (ver más abajo) pero el error original sigue ahí. "C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.WinFX.targets" no se puede volver a importar. Ya se importó en "C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.NETFramework.targets (76,3)". Es muy probable que sea un error de creación de compilación. Esta importación posterior será ignorada. "
user316117
También lo intenté y no funcionó ...
Sizons
Gracias, esto lo arregló para mí, en un proyecto que heredé.
MrMikeJJ
22

Esto sucedió conmigo cuando eliminé accidentalmente la referencia de clase de la definición xaml:

He reemplazado el

<Window x:Class="myapp.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

primera línea con esto:

<RibbonWindow 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

Sé que esta no es la respuesta a la pregunta original (porque ese proyecto se basa en otra máquina), pero el mensaje de error fue el mismo, por lo que quizás ayude a alguien con esta situación.

p3d3str1an
fuente
Este no era exactamente mi problema, pero me ayudó a localizarlo. Tenía el espacio de nombres sin el nombre de la clase después
Rivenfall
Esto funcionó para mí. gracias
Sinaesthetic
Esto me ayudó a encontrar mi problema, en mi caso me faltaba la línea x: Class, agregando esto en arreglado para mí
apc
18

Es posible que reciba este error cuando importe una clase de otro proyecto, o cambie la ruta del archivo xaml o el espacio de nombres del archivo xaml o detrás del archivo .cs.

Uno: puede tener un espacio de nombres que no sea el mismo que el que tiene en su nuevo proyecto

namespace TrainerB.MVC.Forms
{
     public partial class AboutDeveloper : ContentPage
     {
          public AboutDeveloper()
          {
               InitializeComponent();
          }
     }
}

Como puede ver, el espacio de nombres en el archivo importado comienza con el antiguo nombre del proyecto: "TrainerB" , pero su nuevo proyecto podría tener un nombre diferente, así que simplemente cámbielo al nuevo nombre correcto del proyecto, tanto en el archivo .xaml como en el El archivo .cs detrás.

Dos:

cambie las propiedades del archivo .xaml a:

Acción de compilación: recurso incorporado

Herramienta personalizada: MSBuild: UpdateDesignTimeXaml

Propiedades del archivo Xaml

Corrección de espacio de nombres Xaml 01

Corrección del espacio de nombres Xaml 02

Reader Man San
fuente
¡Dios mio! Realmente gracias por esa solución. Probé cada solución encontrada allí y nada funciona. El truco estaba en las propiedades del xamlarchivo. +1
IgniteCoders
16

Asegúrese en el archivo xaml

<Page x:Class="Project1.Page1" ...

coincide con el nombre 'Proyecto1' y el nombre 'Página1'

Canción
fuente
Esto resolvió mi problema.
octaviano
16

Verifique el archivo del diseñador .

Tuve el mismo problema. En mi caso, la causa fue que namespacepara FileName.Designer.cs no coincidía con el (correcto) namespaceutilizado en FileName.cs .

El cambio namespacede FileName.Designer.cs para que coincida con FileName.cs resolvió el problema de inmediato.

Ctrl S
fuente
14

He tenido esto (aunque fue mi culpa y fue causado después de copiar y pegar un código); puede ocurrir cuando el espacio de nombres no coincide entre el XAML y el código detrás

P.EJ

<UserControl x:Class="DockPanel.TreeView" />

y el código detrás es

namespace NotDockPanel
Dave
fuente
Esto me llevó a descubrir que mi diseñador tenía un espacio de nombres incorrecto. ¡Gracias!
Ctrl S
13

Encontré esto al cambiar el nombre de un control de usuario. La forma en que lo arreglé fue comentar InitializeComponent, verificar que todos los nombres fueran correctos (xaml y código detrás), compilar el proyecto, descomentar InitializeComponent y luego volver a compilar. Parece que puede haber un par de causas / soluciones para este problema, pero de esta manera lo hizo por mí.

Morgan Herlocker
fuente
1
¿No cambié nada de nombre? Sin embargo, esta solución funcionó para mí. Faltaban * .g.cs y * .gics en la carpeta obj, al comentarlo y al construir el proyecto se generaban los archivos faltantes. No estoy seguro de cómo llegó a este estado.
finlaybob
11

Ninguna de las respuestas anteriores funcionó para mí. Los probé todos excepto los duplicados. Sin embargo, por alguna extraña razón, esto funcionó en mi proyecto multiplataforma en Visual Studio 2015:

  1. Haga clic con el botón derecho en el proyecto que está causando el problema en el Explorador de soluciones. En el menú emergente, elija: Agregar -> Clase
  2. Seleccione multiplataforma -> Página de formularios Xaml. Mantenga el bonito nombre estándar de Page1.cs y haga clic en Agregar.
  3. Observe cómo el problema InitializeComponent () anterior desapareció por alguna razón.
  4. Elimine los Page1.cs recién creados y continúe programando como si Visual Studio funcionara bien.
Anders
fuente
Este me funcionó. Hice una copia y pegué y cambié el nombre de un control de usuario que tenía, cuando InitializeComponent () comenzó a fallar.
Rafael Ventura
¿Cómo te topaste con esta solución? Intenté todo lo demás y esto funcionó. Usando VS 2017, entonces el problema es actual.
blearyeye
Genial, esto me funcionó. Muchas gracias
IZI
9

Estoy de acuerdo con la respuesta anterior de que los espacios de nombres deben coincidir. Sin embargo, tuve un problema como este donde los espacios de nombres coincidían.

Para solucionarlo, simplemente cambié el espacio de nombres en el XAML a uno INCORRECTO, lo guardé y luego lo volví a cambiar al CORRECTO. Voila!

alturas1976
fuente
Hubiera agregado esto como un comentario a la respuesta correcta, pero no tengo el representante para hacerlo :(
heights1976
¡Gracias por esto! Trabajó para mí después de volverme loco probando todo tipo de cosas. Mi solución se compiló originalmente sin errores, luego, después de que la PC estuvo dormida por un tiempo, intenté nuevamente y recibí el error. Tal vez algo que ver con el modo de suspensión?
JeremyB
Tuve el mismo problema y solución. Creo que tuvo algo que ver con IntelliSense. Cambiar el espacio de nombres en el xaml probablemente provocó una actualización de las partes relevantes en la base de datos IntelliSense. Sin embargo, esto es solo una suposición.
FishySwede
8

Si está utilizando Xamarin Forms y mueve un archivo XAML, la "acción de compilación" del archivo cambia. Xamarin Forms requiere "acción de compilación = recurso incorporado".

Aplicar "acción de compilación" en Visual Studio:

Select the XAML file -> Properties -> Build Action = Embedded Resource

Tonatio
fuente
¡Hurra por usted señor / señora!
naspinski
7

Intento todas las sugerencias anteriores. Si lo intentas también sin éxito, obtén la manera más fácil. Cree un nuevo page.xaml, luego copie su código para una nueva clase y elimine la clase XAML con problemas. No gastes más tiempo.

Diego Venâncio
fuente
7

Descargue toda la solución y luego vuelva a cargarla. Luego reconstruya la solución. Esto resolvió el problema para mí.

Eldhose
fuente
Gracias funcionó para mí!
Izion
6

Otra causa común de este error es si hiciste algo al respecto:

  1. Haga clic derecho en la carpeta en el proyecto para crear un nuevo UserControl. Esto crea una clase y un archivo xaml que deriva del control del usuario en el espacio de nombres de la carpeta.

  2. Luego decide cambiar el espacio de nombres de la clase porque realmente solo está usando carpetas para la organización del código. El atributo x: Class no se actualizará automáticamente, por lo que buscará una clase que no existe. Probablemente podría usar un mensaje de error mejor como "x: no se pudo encontrar el tipo de clase en namesace bla.blaa.blaaa".

usuario1834059
fuente
5

Otra solución a este problema es simplemente cambiar la propiedad-> Build Action en el XAML de Embedded Resource a cualquier otra cosa, guardar y luego volver a cambiarlo a Embedded Resource. El error desaparece.

Mark McCorkle
fuente
Funcionó dos veces;)
Flou
4

Sé que esto se respondió debido a una causa diferente, pero esta es una publicación muy exitosa y me encontré con el mismo problema con una biblioteca de clase. En este caso, resultó ser un cambio en mi espacio de nombres (respondido en esta publicación aquí ) y que el compilador no pudo reconstruir Window.gics que define el método InitializeComponent (). No pudo porque a la biblioteca de clases le faltaba el valor ProjectTypeGuid para proyectos WPF en el archivo csproj. Las instrucciones para esto están aquí y aquí . Pensé en compartir en caso de que alguien más se haya encontrado con el mismo problema. Simplemente cambiar el espacio de nombres no es suficiente en este caso.

bjhuffine
fuente
3

Esto me sucedió porque un desinstalador de paquetes Nuget eliminó todos los atributos en el elemento <Application> en App.xaml. Esto incluía el atributo x: Class, que especifica el nombre de la clase de aplicación. Entonces, la clase parcial que contiene el método InitializeComponent () nunca se generó.

Solucioné el problema volviendo App.xaml a la copia controlada por la fuente.

Richard Beier
fuente
Obtuve el mismo error debido a un atributo x: Class faltante, pero no tenía nada que ver con Nuget. Simplemente desapareció de alguna manera, probablemente algo de magia visual de estudio.
Ismail Degani
3

Esto lo resolvió para mí.

Había comentado los recursos en el archivo App.xaml

<Application x:Class="MyApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Application.Resources>
    <!--<ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary
            Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>-->
  </Application.Resources>
</Application>

Comentando esto nuevamente para corregir el error de compilación.

<Application x:Class="MyApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary
            Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>
</Application>

Excavando un poco más, descubrí que el archivo app.g.cs en {Project} \ obj \ debug solo contenía lo siguiente cuando dejé el recurso comentado.

/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
public void InitializeComponent() {
    if (_contentLoaded) {
        return;
    }
    _contentLoaded = true;
    System.Uri resourceLocater = new System.Uri("/MyApp;component/app.xaml", System.UriKind.Relative);

    #line 1 "..\..\..\App.xaml"
    System.Windows.Application.LoadComponent(this, resourceLocater);

    #line default
    #line hidden
}
bic
fuente
3

Para aquellos que encuentran esto en internet. Verifique el archivo Windows.csproj si la compilación está allí. Debe haber 2 entradas

<Page Include="YourFile.xaml">
  <SubType>Designer</SubType>
  <Generator>MSBuild:Compile</Generator>
</Page>

<Compile Include="YourFile.xaml.cs">
  <DependentUpon>YourFile.xaml</DependentUpon>
</Compile>
acsadam0404
fuente
En mi csproj me faltaba el <DependentUpon>YourFile.xaml</DependentUpon>por alguna razón y esto es lo que me solucionó.
Isaac Baker
3

Si los espacios de nombres son correctos, entonces también hay un mismo error,

Simplemente cierre su aplicación y ábrala nuevamente .

Esto puede resolver su problema

Syed Siraj Wajeed
fuente
abrir y cerrar estudio visual quieres decir?
LuckyLikey
Algunas veces, XDesProc.exe (Diseñador de la interfaz de usuario XAML de Microsoft Visual Studio) detendrá el funcionamiento de Visual Studio y no cargará el archivo xaml correctamente. Entonces, reiniciar Visual Studio resolvió mi problema. (También puede ir a Procesos en el Administrador de tareas y detener solo ese proceso sin reiniciar Visual Studio).
Syed Siraj Wajeed
Descubrí esto en VS2017. Había cambiado todo lo demás y los espacios de nombres eran correctos en todas partes, pero las llamadas InitializeComponent () tenían el error, y las palabras clave parciales en los archivos xaml.cs tenían una advertencia, algo así como "la clase parcial solo tiene un archivo". Se me ocurrió cerrar y volver a abrir la solución y descubrí que ambos problemas se resolvieron por sí mismos.
Steve Crane
3

Después de alguna acción, el espacio de nombres del archivo .cs y el del archivo .xaml pueden ser diferentes (en xaml busque x: Class = "namespace.yourType").

Arreglos para que sean lo mismo.

Mauro Sampietro
fuente
3

He descubierto que el "Objeto de inicio" estaba (No establecido) causándome este error.

"Objeto de inicio" (no establecido)

Rock
fuente
¿Todos los otros detalles mencionados en la pregunta fueron los mismos?
marklark
2
Los detalles exactos no son exactos teniendo en cuenta que la pregunta no estaba clara sobre cómo se manifestó la excepción. Sin embargo, el síntoma subyacente es idéntico, por lo tanto, no veo nada malo en mi respuesta. Mi intención era agregar a la conversación ya que ninguna respuesta / comentario ayudó en mi caso. Simplemente intentaba agregar a la base de conocimiento los errores de compilación a menudo indescriptibles.
Rock
1
¡Gracias! ¡Resolvió mi problema! Parece que la opción dada ( objeto inicial ) era restablece automáticamente cuando moví la MainWindow.xaml a partir rootde Viewdirectorio.
AlexMelw
3

Dado que este parece ser el hilo conductor del problema con respecto a la falta de 'InitializeComponent', incluiré mi respuesta aquí.

Yo también estaba teniendo este problema y he intentado todo lo que encontré aquí y en todos los otros foros que Google pudo encontrar, sin embargo ninguno resolvió el problema por mí. Después de dos horas de intentarlo todo, finalmente descubrí lo que estaba mal con mi configuración.

En nuestro proyecto, estamos utilizando componentes de Metro de MahApps . La vista que me estaba dando problemas era una vista heredada de MetroWindow, como esta:

<Controls:MetroWindow x:Class="ProjectNamespace.MyView"
                      xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
                      ... >

Ahora, he definido mis recursos estáticos como

<Controls:MetroWindow.Resources>
    <prop:Resources x:Key="LocalizedStrings"/>
    ...
</Controls:MetroWindow.Resources>

Así es como he definido Recursos en UserControl s en todas mis otras vistas, así que eso es lo que asumí que funcionará.

Sin embargo, ese no fue el caso con Controls:MetroWindow! Allí necesitaba absolutamente la definición del recurso de la siguiente manera:

<Controls:MetroWindow.Resources>
    <ResourceDictionary>
        <prop:Resources x:Key="LocalizedStrings"/>
        ...
    </ResourceDictionary>
</Controls:MetroWindow.Resources>

Entonces, mi problema, en resumen, era una <ResourceDictionary>etiqueta faltante . Realmente no sé por qué esto produjo el error 'InitializeComponent' y extrañamente ni siquiera lo produjo en cada máquina mía, pero así es como lo solucioné. Espero que esto ayude (el 0.001% restante de personas que encuentran este problema).

Tom Ladek
fuente
2

Acabo de encontrar este problema, y ​​resultó que mi proyecto está almacenado en mi carpeta de usuario, que está almacenada en la red, y tuvimos una interrupción momentánea de la red. Hice una construcción; se quejó de que mis archivos habían sido modificados fuera del editor (no lo habían hecho; los bloqueos de los archivos simplemente se corrigieron), y funcionó bien, eliminando el error relacionado con el InitializeComponent()método.

Por cierto, en caso de que te lo estés preguntando, desarrollar algo desde una unidad de red es una mala práctica. Se vuelve particularmente problemático cuando intentas aprovechar el código administrado de .NET; en mi experiencia, se asusta cada vez que construyes. Olvidé poner este pequeño proyecto desechable en la carpeta adecuada y terminé pagando el precio.

JD Ray
fuente
2

Otra posible explicación es que estás construyendo contra x86. Haga clic con el botón derecho en su Solución y elija Administrador de configuración. Vea si está compilando contra x86 en lugar de Any CPU.

Peter
fuente
2

Así que me doy cuenta de que esta es una pregunta anterior, pero teníamos un problema similar. Pudimos construir un proyecto usando VS2012, pero no usando msbuild desde la línea de comando. Ingresé al archivo .proj y noté que no tenía un registro para "ProjectTypeGuids" en la sección predeterminada "PropertyGroup", así que agregué esto:

<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

que es el GUID del proyecto para WPF. Luego eliminé y volví a agregar el UserControl y comenzó a funcionar. No estoy seguro de si tuve que hacer ese último paso, pero ahora funciona para mí.

Jon Nos
fuente
2

Debido a alguna razón después de copiar .xaml y sus .cs entre proyectos, la acción de compilación a veces cambia. Asegúrese de que la acción de compilación de su .xaml sea Page.

Marek Malczewski
fuente