Tuesday, November 22, 2005

synchronization problem

i took a look at the synchronization problem. i've tried to test the sample code from retos links. but i didn't it get running, because i couldn't find out, how i can reference the mscoree.dll from visual studio. in this dll is the IMetaDataDispenser defined. could you help me?

then i googled a little bit and found the following link:
http://blogs.msdn.com/jmstall/archive/2005/08/25/pdb2xml.aspx

in that link is an example, which generates a xml from the pdb file. and it works. see the xml below:

<symbols file="E:\Daten\HSR\diplomarbeit\SharedCodeDoc\bin\Core.dll">
<!--This is a list of all source files referred by the PDB.-->
<files>
<file id="1" name="E:\Daten\HSR\diplomarbeit\SharedCodeDoc\Core\CommentChangeLog.cs" />
<file id="2" name="E:\Daten\HSR\diplomarbeit\SharedCodeDoc\Core\HTMLEngine.cs" />
<file id="3" name="E:\Daten\HSR\diplomarbeit\SharedCodeDoc\Core\HTMLReader.cs" />
<file id="4" name="E:\Daten\HSR\diplomarbeit\SharedCodeDoc\Core\HTMLWriter.cs" />
<file id="5" name="E:\Daten\HSR\diplomarbeit\SharedCodeDoc\Core\ProjectManager.cs" />
<file id="6" name="E:\Daten\HSR\diplomarbeit\SharedCodeDoc\Core\ProjectSynchronizer.cs" />
<file id="7" name="E:\Daten\HSR\diplomarbeit\SharedCodeDoc\Core\Synchronizer.cs" />
</files>
<!--There is no entry point token such as a 'Main' method. This module is probably a '.dll'-->
<!--This is a list of all methods in the assembly that matches this PDB.-->
<!--For each method, we provide the sequence tables that map from IL offsets back to source.-->
<methods>
<method name="SharedCodeDoc.Core.Logging.CommentChangeLog.LogChangeComment" token="0x6000002">
<sequencepoints total="3">
</sequencepoints>
<locals>
<local name="CS$00000003$00000000" il_index="1" il_start="0" il_end="23" />
<local name="access" il_index="0" il_start="0" il_end="23" />
</locals>
</method>
<method name="SharedCodeDoc.Core.Logging.CommentChangeLog.LogChangeConflict" token="0x6000003">
<sequencepoints total="1">
<entry il_offset="0" start_row="25" start_column="3" end_row="25" end_column="4" file_ref="1" />
</sequencepoints>
<locals />
</method>
<method name="SharedCodeDoc.Core.Logging.CommentChangeLog.DeleteCommentChangeLog" token="0x6000004">
<sequencepoints total="1">
<entry il_offset="0" start_row="30" start_column="3" end_row="30" end_column="4" file_ref="1" />
</sequencepoints>
<locals />
</method>
...
</methods>
</symbols>


in this xml i have the reference from the method to the file. but now it comes the drawback! the code and some referenced assemblys are from .net 2.0. which i can't reference in .net 1.1. what should we do? change to 2.0? and hope that the mono project has as fast as possible integrated .net 2.0 or should i search for an other way to solve the problem?

1 Comments:

At 6:19 PM, Anonymous Anonymous said...

Regarding IMetaDataDispenser, you need to find out which COM component implements this interface. I think mscoree.dll only contains the definition.

Mike Stall's tool is pretty damn cool. That pretty much does what we need. My question is can you rewrite the code using an older version of MdbgCore.dll if such a thing existed?

I personally don't care too much whether this can be run on Mono or not. By the time SharedCodeDoc reaches a productive state Mono will be ready for .NET framework 2.0 as well. Spend another 1 - 2 days to see whether we can find .NET 1.1 solutions. If not, will move on to .NET 2.0.

 

Post a Comment

<< Home