Hello Lex,

It turns out a SharpZipLib binary was already in Gendarme's SVN (for
the WIX packager project). The csproj for
Gendarme.Rules.Portability.dll was updated to refer to that file
(r158788). That fixes your issue #5 and that's one step less to build
Gendarme from scratch on Windows.

I got another idea for nunit... but its not as easy so it will take a
bit more time. Updated instructions will follow.

Sebastien


On May 10, 11:41 pm, Lex Li - MSFT <[email protected]> wrote:
> Hi Sebastien,
>
> Thanks for your reply and clarification.
>
> A wiki link onhttp://www.mono-project.com/Gendarmefor how to build
> Gendarme on Windows is greatly appreciated :) as it is more visible
> than README.vsnet.
>
> Regards,
>
> Lex
>
> On May 11, 8:05 am, Sebastien Pouliot <[email protected]>
> wrote:
>
>
>
> > Hello!
>
> > On Sun, 2010-05-09 at 22:28 -0700, Lex Li - MSFT wrote:
>
> > > It is really a pain to check out Gendarme via svn, and compile it on
> > > Windows with Visual Studio 2010/.NET 4. Hope anyone can make the
> > > process smoother in the future.
>
> > > 1. Check out mono-tools, from 
> > > svn://anonsvn.mono-project.com/source/trunk/mono-tools
> > > to a folder such as d:\mono\mono-tools
> > > 2. Check out mcs, from svn://anonsvn.mono-project.com/source/trunk/mcs
> > > to the same folder, d:\mono\mcs
> > > 3. Install NUnit 2.4.3 fromhttp://nunit.org/index.php?p=download.
> > > 4. Download SharpZipLib 
> > > fromhttp://www.icsharpcode.net/opensource/sharpziplib/Download.aspx
> > > and extract the net-2.0 dll.
> > > 5. Remove Post-Build event from gendarme.csproj.
> > > 6. Fix SharpZipLib reference for Gendarme.Rules.Portability.csproj to
> > > the one we got in step 4.
>
> > > Issue 1:
> > > Is it possible that we only check out Gendarme and its dependencies
> > > instead of using step 1 and 2 to check out so many things?
>
> > Not sure. You'd like less steps (not easy) ?
>
> > or do you find 'mcs' huge to check out ?
>
> > IIRC* you only need Mono.Cecil and the strongname key from mcs. Other
> > things can be found elsewhere.
>
> > svn://anonsvn.mono-project.com/source/trunk/mcs/class/Mono.Cecil
> > svn://anonsvn.mono-project.com/source/trunk/mcs/class/mono.snk
>
> > > Issue 2:
> > > Mono.Cecil.Pdb project is missing. It is not in mono-tools or mcs.
> > > Where can I find it?
>
> > It reside under /cecil/pdb on svn, i.e.
> > svn://anonsvn.mono-project.com/source/trunk/cecil/pdb
>
> > It is not part of /mcs because it cannot be compiled outside Windows
> > (and only works on Windows).
>
> > > If it is no more necessary, please remove it from
> > > the gendarme-win.sln :)
>
> > Gendarme will work without Mono.Cecil.Pdb.dll (i.e. without PDB
> > support). However some rules won't work, or perform as well, without the
> > ability to read debugging symbols (e.g. variable names).
>
> > > Issue 3:
> > > NUnit 2.4 is available in msc, but not use in gendarme-win.sln. If we
> > > should not use the NUnit in mcs, please find a way to include the
> > > dependency somewhere to make gendarme-win.sln work instead of assuming
> > > NUnit is installed in step 3.
>
> > There are several reasons. Skipping historical ones it does allow you
> > not to entirely checkout (and update) /mcs from SVN. It also avoid
> > building all the nunit assemblies from source.
>
> > For myself, when using Windows, I want a version of nunit compatible
> > with the latest TestDriven.Net.
>
> > > Issue 4:
> > > How to fix Post-Build event of gendarme.csproj?
>
> > It should work (i.e. no need to fix it). It copies from files (e.g.
> > rules.xml) into the right places (for the console runner).
>
> > Now it likely failed for you because it also copy Mono.Cecil.Pdb.dll
> > (which you have not build) since it is loaded dynamically (there's no
> > reference to the assembly).
>
> > > Issue 5:
> > > Gendarme.Rules.Portability.csproj searched SharpZipLib under mcs. I
> > > have no idea how to fix the reference except changing it to a valid
> > > one.
>
> > The file is also available from the "Files" section of the Google group.
> > Maybe it should be more visible ?
>
> > OTOH did you see the README.vsnet file ? It does include some, but not
> > all, answers to your questions.
>
> > > I started to love Gendarme better, as finally I can build it on
> > > Windows and start to write my own rules.
>
> > Great :)
>
> > Thanks
> > Sebastien
>
> > * As to make the experience a bit easier in the future I'll add a wiki
> > page for building on Windows, update the README.vsnet and add links from
> > the Gendarme developers FAQ. I'll post the link once ready...
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Gendarme" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/gendarme?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Gendarme" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group 
> athttp://groups.google.com/group/gendarme?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Gendarme" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/gendarme?hl=en.

Reply via email to