I've actually just managed to get this to work. I had to remove the 3 signing xml tags from every project in the solution (not just the 3 Jimmy mentioned). I also had to remove the definition of SIGNED from every project that had it (which wasn't all of them). Once this was done, all projects built through without errors. I also had to change App.Config in Ruby.Console to set the public key token to null on Microsoft.Scripting and IronRuby, to get the exe to start-up, but now it does, and I've successfully resolved my underlying issue (which was a load failure while using test/unit in some ironruby code I'm writing).
Incidentally, it turns out the solution to that problem was to copy everything out of my C:\ruby\lib folder into merlin\languages\ruby\ruby-1.8.6\lib folder. Is this the recommended approach for now for using standard ruby libraries? What is the plan for this going forwards? I tried to generate a diff to send through of all the things I've had to change to get the code to build from a fresh git checkout (remove the check for tf.exe, remove signing attribs, etc.), but my text editor appears to have put ^M's all over the csproj files. Presumably there's some windows/cygwin line-ending conflict going on there. If this diff would be useful to anybody, I can re-edit those files from cygwin's vim, which should fix the CRLF problem. Thanks again for all the helpful advice Terence On Tue, Dec 9, 2008 at 7:39 AM, Jim Deville <[EMAIL PROTECTED]> wrote: > I had Pete try that, and it didn't work, but he might be hitting a > different issue. So yes, Skip verification (via sn -Vr) should work as well. > > > > > JD > > > > *From:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *On Behalf Of *Michael Letterle > *Sent:* Monday, December 08, 2008 4:05 PM > *To:* ironruby-core@rubyforge.org > *Subject:* Re: [Ironruby-core] Trouble building from Visual Studio (git > repo) > > > > Presumably turning off strong name validation for the public key token > would work as well... no? > > On Mon, Dec 8, 2008 at 7:02 PM, Jimmy Schementi < > [EMAIL PROTECTED]> wrote: > > Terence, > > Sorry for the issues you're having, crazy build breaks and signing are > never fun. Microsoft requires us to sign any binaries we produce, so > providing access to our repository is a pain because we can't distribute the > private key used in signing. Jim is going to fix this so builds by default > build do not sign. > > In the meantime, you'll need to remove the signing flags from all the > .csproj files (Ruby.csproj, IronRuby.Libraries.csproj, and > IronRuby.Libraries.Yaml.csproj). Open the .csproj files in a text-editor, > and remove the following lines anywhere you find them (they might be in a > file more than once): > > <DelaySign>true</DelaySign> > > > <AssemblyOriginatorKeyFile>..\..\..\MSSharedLibKey.snk</AssemblyOriginatorKeyFile> > <SignAssembly>true</SignAssembly> > > Rebuilding should not care about signing at all now. Let me know if you run > into any other problems. > > ~Jimmy > > > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:ironruby-core- > > [EMAIL PROTECTED] On Behalf Of Terence Lewis > > Sent: Monday, December 08, 2008 3:01 PM > > To: ironruby-core@rubyforge.org > > Subject: [Ironruby-core] Trouble building from Visual Studio (git > > repo) > > > > Hello, > > > > First let me apologise for the length of this mail - it's not quite as > > long as it looks, a lot of the text is error messages :( > > > > Anyway, I can now build from rake compile, however I'm having trouble > > building from Visual Studio 2008 SP1. > > > > The first thing that it complains about is something to do with > > SpecSharp.targets. I managed to work-around this by copying this file > > from \merlin\main\Languages\Ruby to \merlin\main. > > After doing this, I got an error about Microsoft.Scripting.dll meta- > > data file not being found (with FxCop in the path), but changing the > > build config file to FxCop and then back to Debug seemed to make this > > problem go away. > > Next, I got a complaint about MSSharedLibKey.snk - I worked around > > this by creating a key myself (sn -k MSSharedLibKey.snk) in the folder > > it was looking for. > > Then when compiling, I get build 3 errors in > > ReflectionCacheGenerator.cs (ClassInitGenerator). These are as follows: > > > > Error 1 'IronRuby.Compiler.Methods' is inaccessible due to its > > protection level > > \merlin\main\Languages\Ruby\ClassInitGenerator\ReflectionCacheGenerato > > r > > . > > cs line 29 > > Error 2 'IronRuby.Runtime.Calls.BlockDispatcher' does not contain > > a definition for 'MaxBlockArity' > > \merlin\main\Languages\Ruby\ClassInitGenerator\ReflectionCacheGenerato > > r > > . > > cs line 102 > > Error 3 'IronRuby.Runtime.Calls.BlockDispatcher' does not contain > > a definition for 'MaxBlockArity' > > \merlin\main\Languages\Ruby\ClassInitGenerator\ReflectionCacheGenerato > > r > > . > > cs line 103 > > > > I also get two build errors in IronRuby.Tests: > > > > Error 5 'IronRuby.Compiler.IParserLogger' is inaccessible due to > > its protection level > > \merlin\main\Languages\Ruby\IronRuby.Tests\Parser\DefaultParserLogger. > > c > > s > > line 24 > > Error 6 'IronRuby.Compiler.IParserLogger' is inaccessible due to > > its protection level > > \merlin\main\Languages\Ruby\IronRuby.Tests\Parser\CoverageParserLogger. > > c > > > s line 33 > > > > > > > Commenting out errors 2 and 3, and making IronRuby.Compiler.Methods > > and IronRuby.Compiler.IParserLogger public allows everything to build > > except IronRuby.Tests which then fails with 47 compile errors. > > > > Trying to run Ruby.Console with the code in this condition leads to a > > MessageBox with the following: > > Error while trying to run project: Could not load file or assembly > > 'ir, Version=1.0.0.0, Culture=neutral, PublicKeyToken=67ede3a51bb28398' > > or one of its dependencies. Strong name validation failed. (Exception > > from HRESULT: 0x8013141A). > > > > Presumably this is because I can't just generate a strong-name key > > myself? I then ran sn -Vr using my public key token, and changed two > > places in Ruby.Console's app.config file - Microsoft.Scripting and > > IronRuby to use my public key token. At this point, running the > > console doesn't bring up a message box, but the application does > > terminate immediately with the following appearing in the output window: > > > > WEAK_TABLE: IronRuby.Runtime.WeakTable`2[[System.Object, mscorlib, > > Version=2.0.0.0, Culture=neutral, > > PublicKeyToken=b77a5c561934e089],[IronRuby.Runtime.RubyInstanceData, > > IronRuby, Version=1.0.0.0, Culture=neutral, > > PublicKeyToken=67ede3a51bb28398]] A first chance exception of type > > 'System.IO.FileLoadException' occurred in mscorlib.dll A first chance > > exception of type 'IronRuby.Builtins.LoadError' occurred in > > IronRuby.dll A first chance exception of type > > 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll > > A first chance exception of type > > 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll > > A first chance exception of type > > 'Microsoft.Scripting.InvalidImplementationException' occurred in > > Microsoft.Scripting.dll > > > > So, when this failed, I tried to copy the only .snk file I could find > > from the subversion repository > > (trunk\src\microsoft.scripting.core\debugkey.snk) over my manually > > generated key, but this didn't yield the correct public key token > > either (it gives 51c7b9aefdaeb546). > > > > So, now I'm totally stuck. Any help or suggestions will be appreciated. > > > > > > Regards > > > > Terence > > > > > > PS, I'm trying to get the build to work out of visual studio so that I > > can step through some of the code in the debugger. > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > -- > Michael Letterle > [Polymath Prokrammer] > http://blog.prokrams.com > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core