Pregunta

Yo antes tenía una subcarpeta en mi proyecto de aplicación de WPF denominado "Controles". Contenía un control de usuario WPF. Decidí mover que el control de usuario a mi carpeta "Vistas". Desde la carpeta original estaba vacío, decidí eliminarlo del proyecto.

Debido a que el control de usuario y la carpeta se elimina recibo un error de compilación porque el control de usuario utiliza el espacio de nombres ProjectName.Folder y ahora nada hace referencia a ella. MainWindow.g.cs es lo referencias ProjectName.Controls en una instrucción using.

Sé que * .g.cs se generan por VS y no se pueden modificar, ya que será sobrescrito. ¿Qué hago para no permitir que el espacio de nombres que se escriben en el archivo g.cs? He intentado limpiar mi solución / proyecto y la reconstrucción, pero nada ha funcionado.

¿Fue útil?

Solución

Yo tenía un local de referencia al espacio de nombres Controles en mi código XAML (MainWindow.xaml). He quitado la referencia, se limpian el proyecto y produjo una acumulación éxito.

Otros consejos

En el archivo de control de usuario,

En su ClassName.xaml, debe cambiar el espacio de nombres como se muestra a continuación

<UserControl
    x:Class="YourOldNamespace.ClassName"
    ...
    ...
/>

Y en sus ClassName.xaml.cs, debe cambiar el espacio de nombres como se muestra a continuación

using System;
using System.Windows;

namespace YourOldNamespace{

   public class ClassName{ ....

}

En tanto los archivos, debe reemplazar YourOldNamespace a un nuevo espacio de nombres según sea necesario.

he tenido problemas con los archivos g.cs en mis proyectos antes también. Puesto que son generados automáticamente, tiendo a eliminar el archivo manualmente y reconstruir.

No se olvide también, que usted debe comprobar para ver si la propiedad Acción cuando se hace clic en el archivo XAML afectado se establece en PÁGINA (en lugar de los recursos). Esto es útil para saber cuando se copia un XAML de otro proyecto usando copiar y pegar para ahorrar tiempo.

También se fijan en App.xaml y todos sus diccionarios de recursos. Por la razón que sea, de VS 2012 Reemplazar en archivos / opción "Toda la solución" no encuentra el antiguo espacio de nombres de referencia en App.xaml, tuvo que cambiar manualmente eso. Corregido por mí.

No se olvide de cambiar el archivo Generic.xaml también,

<ResourceDictionary 
                   xmlns:local="clr-namespace:MyOldNameSpace">
</ResourceDictionary>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top