L’URI ‘clr-namespace’ fa riferimento a uno spazio dei nomi che non è incluso nell’assembly

Sto cercando di includere nel mio XAML alcune classi che convertono valori. Tuttavia, sto ricevendo il seguente errore quando compilo:

Spazio dei nomi CLR non definito. L’URI ‘clr-namespace’ fa riferimento a uno spazio dei nomi ‘View.Summary.Converters’ che non è incluso nell’assembly. (Visualizza \ Visualizza)

E lo XAML sta commettendo errori:

xmlns:c="clr-namespace:View.Summary.Converters" 

Inoltre, ecco lo schema delle mie classi di conversione / spazio dei nomi:

 namespace View.Summary.Converters { class CollapsedIfNegative : IValueConverter { } class VisibleIfNegative : IValueConverter { } class ErrorCodeToString : IValueConverter { } } 

Ho dovuto rimuovere il coraggio del codice perché il progetto a cui sto lavorando è altamente confidenziale.

ribuild la soluzione e l’errore andrà via.

Ho appena risolto questo cambiando il target da x64 a x86. Apparentemente Visual Studio è un processo a 32 bit e non è in grado di caricare assembly a 64 bit, e se il tuo assembly ha come target la piattaforma x64 e tu aggiungi qualche controllo visivo, lo studio visivo non è in grado di caricarlo e lancia questo messaggio.

Ho capito cosa c’era che non andava. Sebbene Visual Studio abbia mostrato questo come il primo errore, c’erano effettivamente altri errori con la mia codifica che impedivano l’assemblaggio dei convertitori. Quindi, quando VS andò a trovare l’assemblea, non c’era.

qualche problema con il designer vs2008

Fai questo:

  1. chiudi il designer
  2. ribuild-tutto (Alt + B + R) la soluzione

ora non ci saranno errori.

Se fai riferimento a un progetto esterno, devi specificare l’assembly come appare nei riferimenti del tuo progetto:

 xmlns:mdls="clr-namespace:MyProject.Models;assembly=MyProject.Models" 

Sono stato in grado di riprodurre il tuo problema:

Ho creato un semplice WF in .NET Framework 4.0. Rinominato il file xaml. Come parte del rinominare il file xaml, è necessario rinominare manualmente il nome del runtime del stream di lavoro quando si chiama Invoke sull’object WorkflowInvoker. Costruisco il progetto. Ho ricevuto l’errore “L’URI ‘clr-namespace’ fa riferimento a uno spazio dei nomi ‘System’ che non è incluso nell’assembly.”

Come l’ho risolto:

Apro la pagina delle proprietà del progetto. Per qualche ragione, il framework di destinazione è stato il passaggio da .NET framework 4.0 a 4.0 versione client. Quindi, ho selezionato .NET 4.0 e ho ricostruito il progetto. L’errore non c’è più.

Verificare che la configurazione della build abbia il progetto selezionato per la build nella configurazione di build corrente (triggers).

Ho appena avuto questo problema dopo aver giocato con l’architettura Build (da x86 a x64) e il progetto wpf principale era stato deselezionato.

Ho incontrato questo problema su un progetto C # WPF. Sembra essere generato quando hai chiuso il progetto con l’ultimo tentativo con errori di qualsiasi tipo durante il tuo progetto, nemmeno nel relativo spazio dei nomi in questione in XAML.

La soluzione è quella di correggere tutti i file .CS (o escludere i file XAML / CS problematici) per ottenere una versione in esecuzione Ricostruisci ed esegui.

Mi ci sono volute quasi 3 ore per capire che la versione Debug su cui il designer sembra essere in esecuzione deve essere difettosa. Questo è il motivo per cui in molti casi le persone lo hanno risolto con il progetto Ricostruisci, ma nei casi in cui si verificano errori di codice esistenti nel progetto, il problema non verrà risolto automaticamente poiché la ricostruzione non viene completata e non sostituisce la versione supportata dal progettista.

spero che questo aiuti!

Visual Studio continua a tornare ai percorsi dei file di assemblaggio dispari. Basta eliminare il vero file di riferimento a cui si riferisce e quindi aggiungerlo al progetto

Ho avuto lo stesso errore. Ma a quanto pare, era solo a causa del percorso della soluzione che stavo cercando di build. Il mio percorso / directory / nome della cartella contiene alcuni spazi.