[Mono-dev] Using mdoc for internal documentation
Casey Marshall
casey.s.marshall at gmail.com
Tue Apr 7 20:54:37 EDT 2009
On Apr 7, 2009, at 4:06 PM, Casey Marshall wrote:
> On Apr 6, 2009, at 8:56 PM, Jonathan Pryor wrote:
>
>> Also, what is 'foo.dll'? Is it a library that you built, or a
>> GAC-located assembly? If you're using Mono 2.4, Cecil will only
>> check
>> the GAC and the directories of assemblies specified on the command
>> line.
>>
>
> `foo.dll' is an assembly I've built (forgive the obfuscation). It's
> typically a very "core" assembly, i.e., one very high up in the
> dependency tree, and most certainly is in the same directory as the
> assembly depending on it, and is being specified on the command line.
>
> In fact, I was really surprised that it was complaining about not
> finding that assembly, since it is such a central one.
>
WRT this, it seems like somehow mdoc is trying to look up the
"qualified" (or whatever) name, which includes the Version=1.0.0.0,
PublicKeyToken=XXX, et al. Cecil seems to just try name + ".dll" and
name + ".exe", which obviously won't work.
Here's the full stack trace of that failure:
mdoc: System.IO.FileNotFoundException: Could not resolve: xxx.yyy.zzz,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=b793830814f66173
at Mono.Cecil.BaseAssemblyResolver.Resolve
(Mono.Cecil.AssemblyNameReference name) [0x000a4] in /home/path/
sources-2.4-0/mono/mcs/class/Mono.Cecil/Mono.Cecil/
BaseAssemblyResolver.cs:99
at Mono.Cecil.DefaultAssemblyResolver.Resolve
(Mono.Cecil.AssemblyNameReference name) [0x0001d] in /home/path/
sources-2.4-0/mono/mcs/class/Mono.Cecil/Mono.Cecil/
DefaultAssemblyResolver.cs:46
at Mono.Documentation.DocUtils.GetTypeDefinition
(Mono.Cecil.TypeReference type) [0x00029] in /home/path/sources-2.4-0/
mono/mcs/tools/mdoc/Mono.Documentation/monodocer.cs:3017
at Mono.Documentation.DocUtils
+<GetInheritedInterfaces>c__AnonStorey16.<>m__3D
(Mono.Cecil.TypeDefinition t) [0x00036] in /home/path/sources-2.4-0/
mono/mcs/tools/mdoc/Mono.Documentation/monodocer.cs:3052
at Mono.Documentation.DocUtils.GetInheritedInterfaces
(Mono.Cecil.TypeDefinition type) [0x00086] in /home/path/sources-2.4-0/
mono/mcs/tools/mdoc/Mono.Documentation/monodocer.cs:3066
at Mono.Documentation.DocUtils.GetUserImplementedInterfaces
(Mono.Cecil.TypeDefinition type) [0x00000] in /home/path/sources-2.4-0/
mono/mcs/tools/mdoc/Mono.Documentation/monodocer.cs:3029
at Mono.Documentation.CSharpFullMemberFormatter.GetTypeDeclaration
(Mono.Cecil.TypeDefinition type) [0x001a2] in /home/path/sources-2.4-0/
mono/mcs/tools/mdoc/Mono.Documentation/monodocer.cs:3537
at Mono.Documentation.MemberFormatter.GetDeclaration
(IMemberReference member) [0x0001e] in /home/path/sources-2.4-0/mono/
mcs/tools/mdoc/Mono.Documentation/monodocer.cs:3334
at Mono.Documentation.MDocUpdater.MakeTypeSignature
(Mono.Cecil.TypeReference type) [0x00000] in /home/path/sources-2.4-0/
mono/mcs/tools/mdoc/Mono.Documentation/monodocer.cs:2481
at Mono.Documentation.MDocUpdater.StubType
(Mono.Cecil.TypeDefinition type, System.String output,
System.Xml.XmlReader ecmaDocsType) [0x00000]
at Mono.Documentation.MDocUpdater.DoUpdateType
(Mono.Cecil.TypeDefinition type, System.String basepath, System.String
dest, System.Xml.XmlReader ecmaDocsType) [0x000fd] in /home/path/
sources-2.4-0/mono/mcs/tools/mdoc/Mono.Documentation/monodocer.cs:394
at Mono.Documentation.MDocUpdater.DoUpdateAssembly
(Mono.Cecil.AssemblyDefinition assembly, System.Xml.XmlElement
index_types, System.String source, System.String dest,
System.Collections.Generic.HashSet`1 goodfiles) [0x00048] in /home/
path/sources-2.4-0/mono/mcs/tools/mdoc/Mono.Documentation/monodocer.cs:
548
at Mono.Documentation.MDocUpdater.DoUpdateAssemblies (System.String
source, System.String dest) [0x00104] in /home/path/sources-2.4-0/mono/
mcs/tools/mdoc/Mono.Documentation/monodocer.cs:525
at Mono.Documentation.MDocUpdater.Run
(Mono.Documentation.MDocUpdaterOptions opts) [0x0029a] in /home/path/
sources-2.4-0/mono/mcs/tools/mdoc/Mono.Documentation/monodocer.cs:213
at Mono.Documentation.MDocUpdater.Run (IEnumerable`1 args)
[0x00184] in /home/path/sources-2.4-0/mono/mcs/tools/mdoc/
Mono.Documentation/monodocer.cs:130
at Mono.Documentation.MDoc.Run (System.String[] args) [0x0015a] in /
home/path/sources-2.4-0/mono/mcs/tools/mdoc/Mono.Documentation/mdoc.cs:
69
at Mono.Documentation.MDoc.Main (System.String[] args) [0x00006]
in /home/path/sources-2.4-0/mono/mcs/tools/mdoc/Mono.Documentation/
mdoc.cs:18
See `mdoc help' for more information.
More information about the Mono-devel-list
mailing list