You mean something like this -
Dim asm As [Assembly] = System.Reflection.Assembly.GetEntryAssembly
MsgBox(asm.EntryPoint.DeclaringType.Namespace)
But there is no guarantee that the assembly's startup object is not
contained within a deeper namespace than the root.
Um... hmmm. I guess this will work if I make sure to exclude any types from
referenced assemblies (not shown). The shortest Namespace will probably be
the root. Ugh, but again no guarantee...
Dim asm As [Assembly] = '<some assembly>
Dim Root As String
For Each t As Type In asm.GetTypes
If Root Is Nothing Then
Root = t.GetType.Namespace
Else
If Root.Length > t.FullName.Length Then
Root = t.FullName
End If
End If
Next
MsgBox(Root)
I guess I'll have to call this good enough.
Thanks,
Bob
"Jay B. Harlow [MVP - Outlook]" <Ja************@msn.com> wrote in message
news:u9**************@TK2MSFTNGP15.phx.gbl...
Bob,
Have you tried using my second example?
For example to get the namespace of the main form class, you can use:
Dim [namespace] As String = GetType(MainForm).Namespace
MainForm is the name of your startup object (as set in Project
Properties).
Hope this helps
Jay
"Bob" <no***@nowhere.com> wrote in message
news:uy**************@TK2MSFTNGP12.phx.gbl... "Jay B. Harlow [MVP - Outlook]" <Ja************@msn.com> wrote in
message news:%2****************@TK2MSFTNGP11.phx.gbl... Bob,
> how do you find the root namespace at runtime?
Root namespace of what?
The project that created the currently executing assembly.
In the property pages of a project, available by right-clicking one one
and
selecting 'properties', under 'common properties'/'general' there is a
place
you can enter a 'Root Namespace'. I would like access to this at
runtime.
Bob