Tengo una pequeña aplicación WPF que solía compilarse bien, pero ya no lo es. Realmente no puedo decir en qué momento dejó de construirse. Simplemente funcionó bien un día y al siguiente no.
Aquí está la estructura del proyecto:
No hay otros proyectos o referencias externas que no sean las DLL de .net estándar.
Aquí está el control de usuario donde se originó el problema:
<UserControl x:Class="TimeRecorder.HistoryUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:TimeRecorder.ViewModel"
xmlns:framework="clr-namespace:TimeRecorder.Framework"
mc:Ignorable="d" Height="Auto" Width="Auto" Padding="5">
<UserControl.Resources>
<local:HistoryViewModel x:Key="ViewModel"/>
<framework:BoolToColorConverter x:Key="ColorConverter"/>
</UserControl.Resources>
<StackPanel DataContext="{StaticResource ViewModel}">
Y aquí está el error que obtengo:
Tenga en cuenta que este no es solo el archivo en la captura de pantalla, sino todas las referencias que agrego de manera similar en xaml en todos los archivos de ventana / control de usuario en este proyecto.
Entonces, el archivo está allí, el espacio de nombres en el archivo es correcto, el espacio de nombres / nombre de clase en el archivo xaml es (a mi entender) correcto. Obtengo intellisense cuando escribo el xaml para que encuentre los archivos bien, pero no cuando se compila.
La solución más común para esto en otras publicaciones ha sido la versión del marco .net. Actualmente está configurado en .Net Framework 4 para mi proyecto principal y de prueba. La versión completa, no el perfil del cliente.
Esto es lo que creo que me equivoqué: en el administrador de configuración, ambos proyectos tienen su Plataforma configurada en Cualquier CPU, pero en un momento cuando intentaba resolver esto, noté que el proyecto principal estaba configurado en x86 y el proyecto de prueba estaba configurado en Cualquiera UPC. Así que agregué Cualquier CPU manualmente para el proyecto principal en el administrador de configuración. Sin embargo, honestamente, no sé si hice esto correctamente o incluso si debería hacerlo. Entonces, como pregunta adicional, ¿hay alguna manera de restablecer el administrador de configuración a su estado predeterminado? ¿Tendrá esto algo que decir sobre el problema principal? No sé si el proyecto principal siempre se configuró en x86 o no o si de alguna manera lo cambié a x86 y luego se rompió. Como se mencionó, este proyecto se compiló bien por un tiempo.