[Mono-dev] Current 'xbuild' status

Jonathan Chambers joncham at gmail.com
Wed Feb 11 12:10:27 EST 2009


I have seen this repeatedly and have not been able to figure out why (unless
it's just old things lying around). If you look in your GAC, somewhere you
will have 2 versions of some assembly that both are 2.0.0.xxx. The current
resolve logic chokes on this trying to add a duplicate key to a dictionary.
It probably shouldn't fail but I can't figure out why there are two
assemblies with similar version numbers.
If you modify the code in xbuild where it is populating the dictionary you
can output the duplicate assembly. In fact, I'll try and add code that
outputs the duplicate assembly and handle the error case better.

Thanks,
Jonathan

On Wed, Feb 11, 2009 at 11:55 AM, Leszek Ciesielski <skolima at gmail.com>wrote:

> When I forced msbuild 2.0 and regenerated the project, xbuild bails
> out on ResolveAssemblyReferences. Log attached.
>
> On Wed, Feb 11, 2009 at 5:35 PM, Jonathan Chambers <joncham at gmail.com>
> wrote:
> > Hello,
> > I am guessing xbuild is only supporting 2.0 for now. I am not sure how
> much
> > effort is needed to support 3.5/2008 projects.
> > Thanks,
> > Jonathan
> >
> > On Wed, Feb 11, 2009 at 11:28 AM, Leszek Ciesielski <skolima at gmail.com>
> > wrote:
> >>
> >> using today's svn version, .proj file generated with "set
> >> MSBuildEmitSolution=1" trick:
> >>
> >> [mono] ~/mono_svn/EVEMon @ xbuild EVEMonCSharp.sln.proj
> >> XBuild Engine Version 0.1
> >> Mono, Version 2.5.0.0
> >> Copyright (C) Marek Sieradzki 2005. All rights reserved.
> >> MSBUILD: error MSBUILD0000:
> >> /root/mono_svn/EVEMon/EVEMonCSharp.sln.proj: Could not load file or
> >> assembly 'Microsoft.Build.Tasks.v3.5' or one of its dependencies. The
> >> system cannot find the file specified.
> >>
> >> (project is EVEMon, from
> >> svn://evemon.battleclinic.com/EVEMon/EVEMon/trunk)
> >>
> >> On Thu, Feb 5, 2009 at 11:23 AM, Ankit Jain <radical at gmail.com> wrote:
> >> > xbuild (svn) can't directly handle .sln files right now. But it can
> >> > build the temporary .proj that msbuild
> >> > generates for .sln files.
> >> >
> >> >   We can build the .sln.proj  with multiple projects. Its not
> >> > complete yet though.
> >> >   Currently, it generates the resources, satellite assemblies,
> >> >   resolves gac/assembly references, compiles, but doesn't deploy
> >> >   the referenced assemblies etc to the right location. But most of
> >> >   this will be work in the .targets .
> >> >   It should be easy to write a sln-> proj convertor.
> >> >
> >> > List of msbuild features from msdn (
> >> > http://msdn.microsoft.com/en-us/library/ms171452.aspx )
> >> > • Items
> >> >   ∘ Supported. These are used all over the place, so seems to work
> >> > fine for current test cases
> >> > • Properties
> >> >   ∘ Likewise
> >> > • Targets
> >> >   ∘ Implemented
> >> >   ∘ Including dependency checking, in the form of input/output list,
> >> > "DependsOnTargets" etc
> >> > • Tasks
> >> >   ∘ Implemented
> >> >   ∘ Most of the functionality in msbuild files are based on using
> >> > tasks. Custom tasks can be loaded
> >> > • Advanced Concepts
> >> >   ∘ Logging
> >> >      ‣ Implemented. But its not being used throughout the system
> >> > right now to report errors/warnings.
> >> >   ∘ Batching (
> >> > http://msdn.microsoft.com/en-us/library/ms171473(VS.80).aspx )
> >> >      ‣ Very important feature
> >> >      ‣ Both task and target batching have been implemented, and seem
> >> > to be working fine
> >> >   ∘ Transforms (
> http://msdn.microsoft.com/en-us/library/ms171476.aspx )
> >> >      ‣ Supported
> >> >   ∘ Using multiple processors (
> >> > http://msdn.microsoft.com/en-us/library/bb383805.aspx )
> >> >      ‣ Nothing has been done for this yet
> >> > • Building for Specific .NET Frameworks (
> >> > http://msdn.microsoft.com/en-us/library/bb397456.aspx )
> >> >   ∘ I've added some preliminary support for TargetFramework* stuff,
> >> > but this will need more work
> >> >   ∘ Similar work done in monodevelop should prove useful here
> >> > •  Others
> >> >   ∘ Project references, assembly, gac references are resolved
> >> >      ‣ I committed kinda preliminary code for this, which works fine
> >> > in the simple test cases (eg. pdn3) that I tried
> >> >
> >> > Ofcourse, most of this hasn't been tested extensively. I try to write
> >> > reasonable number of tests for the stuff
> >> > that I'm touching, but real testing would happen once the targets
> >> > files are more complete and we try real
> >> > world projects.
> >> >
> >> > Would be nice to start trying this out and get feedback/bug reports :)
> >> >
> >> > I'll be on vacation till end of next week, but will try to reply to
> >> > mails.
> >> >
> >> > -Ankit
> >> >
> >> > --
> >> > Blog : http://www.ankitjain.org/blog
> >> > _______________________________________________
> >> > Mono-devel-list mailing list
> >> > Mono-devel-list at lists.ximian.com
> >> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >> >
> >> _______________________________________________
> >> Mono-devel-list mailing list
> >> Mono-devel-list at lists.ximian.com
> >> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090211/3f42fad1/attachment.html 


More information about the Mono-devel-list mailing list