Domanda

Ho avuto in precedenza una sottocartella nel mio progetto di applicazione WPF denominato "Comandi". Conteneva un controllo utente WPF. Ho deciso di spostare il controllo che l'utente alla cartella "Vista". Dal momento che la cartella originale era vuota, ho deciso di eliminarlo dal progetto.

Perché il controllo utente e la cartella viene rimosso ricevo un errore di compilazione perché il controllo utente utilizzato lo spazio dei nomi ProjectName.Folder e ora nulla fa riferimento. MainWindow.g.cs è ciò che i riferimenti ProjectName.Controls in un'istruzione using.

So che .g.cs * sono generate da VS e non possono essere modificati perché sarà sovrascritto. Cosa devo fare per non consentire che namespace da scrivere nel file g.cs? Ho provato a pulire la mia soluzione / progetto e la ricostruzione, ma niente ha funzionato.

È stato utile?

Soluzione

Ho avuto un riferimento locale allo spazio dei nomi controlli nel mio codice XAML (MainWindow.xaml). Ho rimosso il riferimento, ripulito il progetto e prodotto un accumulo di successo.

Altri suggerimenti

Nel file di controllo utente,

Nel vostro ClassName.xaml, è necessario modificare lo spazio dei nomi come indicato di seguito

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

E nel tuo ClassName.xaml.cs, è necessario modificare lo spazio dei nomi come indicato di seguito

using System;
using System.Windows;

namespace YourOldNamespace{

   public class ClassName{ ....

}

In entrambi i file, è necessario sostituire YourOldNamespace a qualche nuovo spazio dei nomi a seconda delle necessità.

ho avuto problemi con i file g.cs nei miei progetti prima di troppo. Dal momento che essi sono generati automaticamente, tendo a eliminare solo il file manualmente e ricostruire.

Non dimenticate anche che si deve verificare se la proprietà Operazione quando si fa clic sul file XAML interessata è impostato su PAGE (invece di risorse). Questo è utile per sapere quando si copia un XAML da un altro progetto con copia-incolla per risparmiare tempo.

Anche guardare App.xaml e tutti i dizionari risorse. Per qualsiasi motivo, di VS 2012 sostituire in file / opzione "intera soluzione" non ha trovato il vecchio di riferimento dello spazio dei nomi in App.xaml, ha dovuto manualmente cambiare la situazione. Corretto per me.

Non dimenticare di modificare il file generic.xaml troppo,

<ResourceDictionary 
                   xmlns:local="clr-namespace:MyOldNameSpace">
</ResourceDictionary>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top