[MonoDevelop] cross platform development issue

Michael Hutchinson m.j.hutchinson at gmail.com
Fri Dec 2 15:23:01 EST 2011


On 28 November 2011 01:49, Daniel Hughes <trampster at gmail.com> wrote:
> I am using monodevelop for the cross platform development of widemargin.
>
> On ubuntu monodevelop automatically adds package hints to the projects file
> (only if the file changes in some way)
>
> On windows monodevelop cannot resolve an assembly with a package hint.
>
> This means that each time a commit is made on ubuntu the package hints must
> be manually removed from the change. This is time consuming and error prone.
> It is not clear to me what the package hint is for, removing it appears to
> have no negative impact on either compiling, running or creating deb
> packages for widemargin.
>
> Is there a way this behavior can be turned off?
>
> I know I am not the only opensource project facing this problem as I have
> found a commit in banshee where they removed the package hints to enable it
> to work on windows.

IIRC it was added for cases where multiple packages would provide
different assemblies with the same name. However, as you say, it has
some pretty big compat issues on Windows/.NET, where pkgconfig is not
used.

Parts of the issue comes from the way that MD handles msbuild files -
it deserializes everything into its internal project model, and
serializes it back out. When it resolves the assemblies on Linux/Mac,
it annotates the references with information about which package was
resolved, so that gets serialized back out.

IMO there are two parts to fixing this:
a) Fix MD on Linux/Mac not to add package hints to existing references
b) Fix MD on Windows/.NET to ignore package hints when resolving

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list