2010-11-17 16 views
5

Non riesco a organizzare alcuni Crystal Reports in una struttura più gestibile in un progetto VB.Net winforms.Come utilizzare correttamente gli spazi dei nomi in vb.net con risorse incorporate?

Le relazioni erano tutti inadempiente allo spazio dei nomi root (in questo caso 'Report') e poi avere nomi come 'analysisKS3SubjectSummary.rpt', 'analysisKS4SubjectSummary.rpt' ecc

per riordinare questo in su ho impostato gli spazi dei nomi per le classi di report e nella proprietà "Spazio dei nomi dello strumento personalizzato" del report. Questi sono strutturati in questo modo:

Reports.Analysis.KS3.SubjectSummary
Reports.Analysis.KS4.SubjectSummary

Gli spazi dei nomi ha funzionato bene, ma se un rapporto ha lo stesso nome come sopra. Il progetto non verrà creato, affermando che due risorse incorporate non possono avere lo stesso nome.

Quindi visualizza "Reports.SubjectSummary" come descrizione dell'errore, ma non esiste tale risorsa. Sembra che stia cercando di rimetterli nello spazio dei nomi di root durante la compilazione.

Qualche idea su come sia possibile forzare le risorse incorporate a utilizzare gli spazi dei nomi appropriati a loro assegnati?

P.S. Apparentemente questo funziona in C# senza alcuna modifica richiesta. Ma ho bisogno che funzioni con VB.

risposta

1

Dato che questo ha funzionato per C#, ho il sospetto che lo "spazio dei nomi radice" del progetto influenzi il "Spazio dei nomi degli strumenti personalizzati".

Lo spazio dei nomi dello strumento personalizzato viene "aggiunto" allo spazio dei nomi radice del progetto. Potresti non tenerne conto. Di solito mi rivolgo al "Browser degli oggetti" quando sospetto problemi di namespace o errori di compilazione dello spazio dei nomi.

Aprire il "Browser degli oggetti" e controllare gli spazi dei nomi del progetto. Si spera che il problema dello spazio dei nomi sia ovvio.

Se lo spazio dei nomi radice del progetto è "Rapporti" e lo spazio dei nomi degli strumenti personalizzati è "Reports.Analysis.KS4.SubjectSummary", lo spazio dei nomi completo è "Reports.Reports.Analysis.KS4.SubjectSummary". I progetti C# non hanno uno spazio dei nomi di root. Hanno un "namespace predefinito" che non è lo stesso.

Per risolvere questo problema, modificare lo spazio dei nomi dello strumento personalizzato in "Analysis.KS4.SubjectSummary" o cancellare lo spazio dei nomi radice del progetto. Suggerisco di cambiare lo spazio dei nomi degli strumenti personalizzati.

+0

Davvero vorrei davvero che MS scarichasse lo spazio dei nomi "Root" in VB e facesse solo lo stesso spazio dei nomi predefinito come C# – AussieALF

+0

@AussieALF, non sono d'accordo. Avere uno spazio dei nomi di root è molto più semplice dello spazio dei nomi predefinito di C#. Ogni progetto C# importante su cui ho lavorato ha problemi di namespace. – AMissico

0

D'accordo con AMissico, cancello sempre lo spazio dei nomi di root dalle proprietà del progetto VB.NET e lo gestisco esplicitamente nel codice.

Problemi correlati