[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