2010-05-28 7 views
18

Ho appena installato Visual Studio 2010 e ho convertito uno dei miei progetti WPF di Visual Studio 2008 per il test. Mentre il progetto si basa e viene eseguito correttamente, il progettista VS non può gestire il mapping degli spazi dei nomi personalizzati ho dando l'errore:Mapping dello spazio dei nomi WPF personalizzato non riuscito in Visual Studio 2010

Assembly must be specified for XAML files that are not part of a project. Reopen this XAML file after adding it to a project, close this file and reopen it using the project it is associated with, or modify the clr-namespace to include the name of the assembly.

Gli spazi dei nomi in questione sono parte del progetto. Visual Studio 2008 non ha avuto problemi con XAML. Così ho creato un nuovo progetto WPF vuoto chiamato Test1 con lo spazio dei nomi Test1. Ho poi modificato il MainWindow.xaml generato per aggiungere un singolo mappatura per local:

<Window x:Class="Test1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:Test1" 
    Title="MainWindow" Height="350" Width="525"> 
    <Grid /> 
</Window> 

Questo dà lo stesso errore. E, sorprendentemente, Google non riporta risultati per l'errore! Ho provato alcune varianti come l'aggiunta di ;assembly= o ;assembly=Test1, ma questo non ha aiutato.

Qualcuno può individuare quello che sto facendo male? Se non altro, apprezzerei molto i suggerimenti sul perché questo potrebbe fallire.

Modifica: Come per i commenti, risulta che ciò si verifica solo quando il progetto viene aperto da una condivisione di rete. Non si verifica se il progetto viene aperto su un'unità locale. Vorrei, tuttavia, poterlo aprire sulla condivisione di rete, quindi lascerò aperta la domanda.

+1

Per quello che vale, non riesco a riprodurre questo problema. Sembra che il problema non sia il tuo xmlns, ma piuttosto che per qualche ragione VS pensa che il tuo .xaml non faccia parte del progetto. – JustABill

+0

Grazie per aver provato a duplicarlo JustABill. Tra il tuo test e la mancanza di questo errore su Google, sembra abbastanza evidente che VS2010 è probabilmente danneggiato in qualche modo o qualche altro problema specifico di questo sistema di sviluppo. – Gregyski

+0

Ho eseguito correttamente una riparazione su Visual Studio 2010 e non ha risolto la situazione. – Gregyski

risposta

5

Ho avuto lo stesso problema ma ho trovato che utilizzare una lettera di unità mappata invece del percorso UNC funziona per me.

saluti

Neil Allen

2

C'è un problema di connessione per quanto riguarda questo. In soluzioni alternative è un collegamento a qualcosa che si può provare per ottenere questo: http://connect.microsoft.com/VisualStudio/feedback/details/568464/wpf-project-on-a-network-share-with-clr-namespace#details

Questo è un collegamento diretto al workaround; http://msdn.microsoft.com/en-us/library/dd409252.aspx

+0

Grazie Andy. Approfondirò questa soluzione una volta che mi piacerebbe chiudere questa domanda La mappatura come unità di rete non è mai stata una soluzione accettabile come molti di noi sanno – Gregyski

+0

Sarei interessato se questo risolve il problema come ho descritto per chiunque. 'al mio devenv.exe.config sotto' configuration/runtime' (* nota: l'editor di testo deve essere eseguito con privilegi di amministratore *) e convertito il mio progetto di test in .NET 4.0, ma non ha cambiato l'errore. – Gregyski

0

Un problema simile è accaduto ad alcuni nella nostra azienda perché stavamo usando una condivisione di rete per ogni sviluppatore.

Il problema non si verificava con quelli che utilizzavano un'unità di rete mappata con password salvata per il riavvio.

Potrebbe essere qualcosa con il dominio o l'ambiente ... e VS cattiva gestione di quello?

2

Solo per riassumere tutte le risposte su questo post perché questo problema era anche un problema per me, e sono riuscito a risolverlo nel modo seguente.

Prima di tutto, il problema deriva dal fatto che il progetto non si trova su un'unità locale che crea alcuni problemi all'interno dell'ambiente di Visual Studio.

per risolvere il problema:

  1. Assicurarsi che il progetto viene aperto utilizzando un'unità mappata (come P:/Projects/.../mySolution.sln).Attenzione, questo significa che mappare l'unità non è sufficiente; è necessario aprirlo dal il percorso mappato (da una finestra di Esplora file utilizzando l'unità mappata). Se continui a caricarlo usando il menu "recenti progetti" in VS, il percorso sarà ancora assoluto.

  2. Modificare il file di configurazione dell'ambiente di sviluppo denominato devenv.exe.config e aggiungere <loadFromRemoteSources enabled="true" /> nella sezione configuration/runtime. Questo file si trova sull'unità in cui è installato VS.

E 'più probabile che, se si verifica questo problema, si sta lavorando in un ambiente aziendale in cui si potrebbe avere limitato l'accesso al disco rigido locale che significa che si deve chiedere al servizio delle infrastrutture IT per rendere la cambiamenti per te.

Infine, vorrei aggiungere che si incontrerebbero anche problemi con i progetti Unit Test se non si utilizza questo tweak.

Spero che questo aiuti.

0

Il percorso di rete è stato il colpevole nel mio caso.

Problemi correlati