c# - La referencia de ensamblaje no se encuentra en XAML, pero el código se compila cuando se hace referencia en la clase xaml.cs
.net wpf (3)
Finalmente resolví el problema yo mismo, voy a dejar esta respuesta aquí en caso de que alguien tenga el mismo problema en algún momento. Agregar la solución a la ruta de referencia del ensamblaje resuelve el problema. Es una pena que esto no esté documentado ...
EDITAR: para aclarar, lo que hice fue agregar la solución, en lugar del dll. En otras palabras, agregué la solución MDI con todas sus clases. Esto, naturalmente, se aplica a las DLL donde el código fuente está disponible también.
Tengo un problema extraño al agregar una referencia dll. Tengo una aplicación WPF y estoy tratando de usar la biblioteca MDI de WPF: http://wpfmdi.codeplex.com/
Como se indica en las instrucciones (que son muy vagas), hice clic derecho en las referencias en VS2012, hice clic en Add reference..
, hice clic en Browse..
y agregué mi dll que descargué.
A continuación, agregué la siguiente línea en el XAML de mi ventana: xmlns:mdi="clr-namespace:WPF.MDI;assembly=WPF.MDI"
como se indica en las instrucciones.
Sin embargo, al intentar agregar un <mdi:MdiContainer>
en el XAML, se muestran los siguientes mensajes de error:
The type ''mdi:MdiContainer'' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built.
The name "MdiContainer" does not exist in the namespace "clr-namespace:WPF.MDI;assembly=WPF.MDI".
Este es mi XAML:
<Window x:Class="QueryBuilder.Table"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mdi="clr-namespace:WPF.MDI;assembly=WPF.MDI"
Height="300" Width="300" WindowStyle="ToolWindow" ResizeMode="NoResize" ShowInTaskbar="False">
</Window>
Este problema me ha estado frustrando todo el día. Intenté casi todo lo imaginable. Una cosa que vale la pena observar es que he descifrado la aplicación de muestra del sitio de la biblioteca y puedo ejecutarla sin problemas. Además de esto, he agregado esto a la clase xaml.cs de mi proyecto: WPF.MDI.MdiContainer d = new WPF.MDI.MdiContainer();
y compila sin problemas en absoluto.
También tenga en cuenta que mi problema inicial fue preguntado aquí , y ninguna de las sugerencias funcionó. Sin embargo, el problema ahora ha cambiado, debido al párrafo anterior que parece indicar que el código se compiló correctamente en el código subyacente, pero no en el archivo XAML.
EDIT: también me gustaría agregar que puedo navegar por el código de la referencia de ensamblaje como se muestra a continuación.
Si Visual Studio seguirá quejándose y subrayando incluso después de haber intentado todo, simplemente finalice el proceso de XDesProc.exe utilizando el Administrador de tareas y luego vuelva a generar la solución. El soporte de WPF y XAML en Visual Studio es una mierda terrible y poco realizada.
Tengo un archivo sln de http://wpfmdi.codeplex.com/
Creé ese proyecto y usé .dll nuevo de bin, lo usé, y funcionó bien para mí.