[vb.net] (user-defined) namespace cannot be found

Pagina: 1
Acties:

  • Y3PP3R
  • Registratie: Oktober 2002
  • Laatst online: 07-02 17:11
Hey mannen en vrouwen code kloppers,

Het lukt mij maar niet om mijn applicatie mijn eigen gebrouwen namespace te laten herkennen. De search en google leverde ook niets bruikbaars op.

Het gaat om vs.net 2003 / vb, ik heb een pocketpc project, en eerst werkte alles wel, maar daarna heb ik bestanden in mappen geplaatst, eerst stond het allemaal in de root, en heb ik classes uit dezelfde namespace in aparte bestanden gezet, en nu wil ut niet meer?

Plaatje met fout in tooltip
(deel 1 van namespace)
(deel 2 van namespace)
(default namespace setting)

[ Voor 2% gewijzigd door Y3PP3R op 01-03-2006 00:02 . Reden: eerste link was fout, viel me net pas op :$ ]


Verwijderd

als je fil1.vb van root naar het mapje "MAP1" heb gezet en je namespace ziet er bijvoorbeeld zo uit "MyNameSpace" dan moet je dit veranderen naar "MyNameSpace.MAP1"

  • Y3PP3R
  • Registratie: Oktober 2002
  • Laatst online: 07-02 17:11
dus, de map geldt ook als subnamespace?

Het gekke is namelijk dat de intellisense of hoe dat heet, wel de juiste namespaces popuped...

als ik 'imports wtreg. ' typ krijg ik wel een lijst met de subnamespaces die ik heb, maar als ik dr 1 kies en enter druk zegt ie dat ie m niet kan vinden :s

Verwijderd

je moet dus ook in je source code de naam van de namespace veranderen.

  • Y3PP3R
  • Registratie: Oktober 2002
  • Laatst online: 07-02 17:11
wat wordt dan de imports in submain?
code:
1
imports wtreg.data.data


Dit werkt niet, en omdat data kruist met system.data heb ik ff de folder hernoemt naar dbdata en de namespace naar data1.

imports data1
imports dbdata.data1
imports wtreg.data1
imports wtreg.dbdata.data1

en files in de root zetten helpen allen niet :s

[ Voor 62% gewijzigd door Y3PP3R op 28-02-2006 23:12 ]


Verwijderd

Y3PP3R schreef op dinsdag 28 februari 2006 @ 23:09:
wat wordt dan de imports in submain?
code:
1
imports wtreg.data.data


Dit werkt niet, en omdat data kruist met system.data heb ik ff de folder hernoemt naar dbdata en de namespace naar data1.

imports data1
imports dbdata.data1
imports wtreg.data1
imports wtreg.dbdata.data1

en files in de root zetten helpen allen niet :s
Je hebt in je begin post een aantal links geplaatst (foto's) deze is niet zo goed zichtbaar voor mij maar dat terzijde.

Aan de plaatjes te zien heb je een map genaamd "data". als je daar het bestand "data.vb" plaats in het mapje data dan ziet je namespace voor data.vb als volgt uit:

namespace wtreg.data

zorgt ervoor dat alle bestanden in het mapje data het bovenstaande namespace hebben (anders moet je dit even veranderen).

Als je data.vb wilt gaan gebruiken in een andere file moet je het bovenstaande namespace importeren (in dit geval import wtreg.data.data). als visual studio zegt dat deze kruist met system.data dan moet je bij je declaratie en initialisatie expleciet vermelden dat je wtreg.data.data wil gaan gebruiken.

  • Y3PP3R
  • Registratie: Oktober 2002
  • Laatst online: 07-02 17:11
|root
=>subMain.vb
=>|dbdata
=>db.vb
=>user.vb

Zo ziet het er uit. in db.vb zit nu de namespace WTReg.dbdata
Aan de plaatjes te zien heb je een map genaamd "dbdata". als je daar het bestand "db.vb" plaats in het mapje dbdata dan ziet je namespace voor db.vb als volgt uit:

namespace wtreg.data
is data dan de bestandsnaam of de foldernaam? en als dat de foldernaam is, betekent dat dan, dat folder niet alleen een visueel hulpmiddel zijn om je code overzichtelijker te maken, maar betekenen ze ook nog wat?

Verwijderd

data is folder naam. wil je bijvoorbeeld data.vb uit het folder data gebruiken moet je de volgende namespace importeren

wtreg.data.data

tweede data is de filename

  • Y3PP3R
  • Registratie: Oktober 2002
  • Laatst online: 07-02 17:11
verwacht visual studio dat je de bestanden die een namespace bevatten in een directory structuur zet die gelijk is aan de namespace? en geldt voor bestanden in een folder dat de bestandsnaam ook overeen moet komen met de namespace, in tegenstelling tot bestanden in de root? want je kan namespace wtreg.controls in het bestand custom.vb stoppen, zonder problemen, iig zolang je geen folders gebruikt? en zoals jij het zegt is het dus niet mogelijk een namespace over meerdere bestanden uit te smeren, of, het is wel mogelijk, maar dan moet je voor elk bestand een imports doen en dan zou juist de lol er weer vanaf zijn... van dat namespace in meerdere bestanden gebruiken.

(zie edit in first post, foute link van eerste afbeelding)

[ Voor 5% gewijzigd door Y3PP3R op 01-03-2006 00:03 ]


Verwijderd

Y3PP3R schreef op dinsdag 28 februari 2006 @ 23:57:
verwacht visual studio dat je de bestanden die een namespace bevatten in een directory structuur zet die gelijk is aan de namespace? en geldt voor bestanden in een folder dat de bestandsnaam ook overeen moet komen met de namespace, in tegenstelling tot bestanden in de root? want je kan namespace wtreg.controls in het bestand custom.vb stoppen, zonder problemen, iig zolang je geen folders gebruikt? en zoals jij het zegt is het dus niet mogelijk een namespace over meerdere bestanden uit te smeren, of, het is wel mogelijk, maar dan moet je voor elk bestand een imports doen en dan zou juist de lol er weer vanaf zijn... van dat namespace in meerdere bestanden gebruiken.

(zie edit in first post, foute link van eerste afbeelding)
hoe bedoel je een namespace over meerdere bestanden uit smeren? snap niet helemaal wat je bedoeld. Maar ik weet dat als je een bestaande bestand naar een mapje sleept dat visual studio niets voor je verandert (onderandere de namespace). maar als je een nieuwe bestand creeert in een folder dan regelt visual studio het voor jou.

volgens mij begrijp je het nut van namespace niet helemaal.

  • whoami
  • Registratie: December 2000
  • Laatst online: 07-04 22:26
De map / directory geldt NIET als namespace.
Als jij dat niet in je namespace gedefinieerd hebt, dan staat het er ook niet in.
Als je je namespace zo gedefinieerd hebt:
code:
1
namespace MySolution.MyProject.Bliep

dan is dat je namespace, waar je je assembly ook plaatst.

Je moet er natuurlijk wel voor zorgen dat je een reference hebt naar die assembly in het project waar je 'm wilt gebruiken.
hoe bedoel je een namespace over meerdere bestanden uit smeren?
Dat kan. Als je 2 assemblies hebt, kan je perfect in assembly A dit doen:
code:
1
namespace MyNamespace.Bliep

en in assembly B:
code:
1
namespace MyNamspace.Bliep

Je namespace beslaat dan 2 assemblies.

[ Voor 27% gewijzigd door whoami op 01-03-2006 08:54 ]

https://fgheysels.github.io/


  • Y3PP3R
  • Registratie: Oktober 2002
  • Laatst online: 07-02 17:11
edit:

sorry, onze berichten kruisten elkaar, ik reageerde nog op b.

Maar het gaat om het zelfde project, dus dan hoef ik toch geen reference te maken naar een bestand dat in hetzelfde project zit? Ik snap echt niet waarom het niet werkt. heb je mijn afbeeldingen gezien?

[ Voor 67% gewijzigd door Y3PP3R op 01-03-2006 09:31 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 07-04 22:26
Y3PP3R schreef op woensdag 01 maart 2006 @ 09:16:
volgens mij weet jij niet dat het mogelijk is dezelfde namespace in meerdere bestanden te defineren? En de namespace is toch niet bestand en folder afhandelijk, dat is afhankelijk van wat je in je bestanden typt, dus ik snap echt niet wat jij allemaal bedoeld.
Dat zeg ik toch ? :?

https://fgheysels.github.io/


  • Y3PP3R
  • Registratie: Oktober 2002
  • Laatst online: 07-02 17:11
Als tijdelijke oplossing heb ik in alle bestanden nu gewoon de default application namespace gebruikt. Dit werkt wel.

[ Voor 79% gewijzigd door Y3PP3R op 01-03-2006 18:23 ]

Pagina: 1