[MonoTouch] Using Portable Library Projects in MonoDevelop/MonoTouch

2012-05-25 Thread slodge
Hi All

I'm still plugging away at trying to get Portable Library projects to work
fully across wp7, winrt, droid and touch.

I'm especially trying this as it will deliver lots of benefits in terms of
refactoring and csproj project management to me as a cross platform
developer.

I've previously managed to:

- get all projects to build in VS2010 - using VSMonoTouch with a fair amount
of hacking -
http://slodge.blogspot.co.uk/2012/04/using-portable-library-tools-for.html

- get all projects to run in wp7, winrt and monodroid from the PC

- get MonoTouch/MonoDevelop on the Mac to load Portable Library Project
files - but this seems only to work if I force the Profile type to
Profile1

- get MonoTouch projects to use Portable Class Libraries if I add them as
compiled references rather than as project references.

However, there are still a few gaps I'm trying to fill - all of them on
MonoDevelop on the Mac:

1. I don't seem to be able to find any way to load PLPs project files in
MonoDevelop outside of Profile1 - if the .csproj file contains anything
other than Profile1 in
`TargetProfileFrameworkProfile1/TargetProfileFramework` then it won't
load. 

2. I can't work out how to edit the installed profiles. Ideally I'd like to
go even further than Profile 4 - ideally I'd like to extend this all the way
up to Profile 104 as I can then link in my own type redirection/substitution
stubs for the limited required System.Net and System.Windows assemblies.

3. I can't work out how to reference portable library projects from
MonoTouch projects - I can add the references, but as soon as I select a
configuration like Debug|iPhoneSimulator then the PLP is greyed out and
not build in active configuration appears.

I appreciate that much of what I'm trying here is on the edge of what has
currently been tried, and I realise that some of the features I'm trying to
use are only available in Beta from Microsoft, but I really strongly believe
in this as the way forwards - so that's why I'm trying so hard to get it
working :)

Has anyone got any ideas about what I could try to move this forwards? I am
toying with the monodevelop source code right now, but haven't really gotten
very far into it yet. If anyone has any ideas or suggestions I'd love to
hear them.

Thanks - and sorry for such a long post on a Friday!

Stuart

--
View this message in context: 
http://monotouch.2284126.n4.nabble.com/Using-Portable-Library-Projects-in-MonoDevelop-MonoTouch-tp4654346.html
Sent from the MonoTouch mailing list archive at Nabble.com.
___
MonoTouch mailing list
MonoTouch@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/monotouch


Re: [MonoTouch] Using Portable Library Projects in MonoDevelop/MonoTouch

2012-05-25 Thread Jeff Stedfast
Hi Stuart,

On Fri, May 25, 2012 at 9:02 AM, slodge m...@slodge.com wrote:

 Hi All

 I'm still plugging away at trying to get Portable Library projects to work
 fully across wp7, winrt, droid and touch.

 I'm especially trying this as it will deliver lots of benefits in terms of
 refactoring and csproj project management to me as a cross platform
 developer.

 I've previously managed to:

 - get all projects to build in VS2010 - using VSMonoTouch with a fair
 amount
 of hacking -
 http://slodge.blogspot.co.uk/2012/04/using-portable-library-tools-for.html

 - get all projects to run in wp7, winrt and monodroid from the PC

 - get MonoTouch/MonoDevelop on the Mac to load Portable Library Project
 files - but this seems only to work if I force the Profile type to
 Profile1

 - get MonoTouch projects to use Portable Class Libraries if I add them as
 compiled references rather than as project references.

 However, there are still a few gaps I'm trying to fill - all of them on
 MonoDevelop on the Mac:

 1. I don't seem to be able to find any way to load PLPs project files in
 MonoDevelop outside of Profile1 - if the .csproj file contains anything
 other than Profile1 in
 `TargetProfileFrameworkProfile1/TargetProfileFramework` then it won't
 load.


Hmm, this seems like a bug. I'll look into this. Could you submit a bug
report to http://bugzilla.xamarin.com for tracking? The IPhone Add-In
component is a good place to submit these (that should auto-assign the bugs
to me).



 2. I can't work out how to edit the installed profiles. Ideally I'd like to
 go even further than Profile 4 - ideally I'd like to extend this all the
 way
 up to Profile 104 as I can then link in my own type
 redirection/substitution
 stubs for the limited required System.Net and System.Windows assemblies.


There's currently no editor UI for this because we currently do not have
any of the XML files that define the profiles, so the only way to have done
it would have been to hard-code the profile names and relations.

We want to eventually have full support for .NETPortable projects and be
compatible with Microsoft, but we do not currently have the XML / API
definitions for the profiles as part of Mono. It *is* in our queue to
figure out how to generate these, because long-term we agree that this is
the way forward.

Once we find a way to include those in Mono, it'll become a high priority
to implement a UI for selecting these profile configurations.



 3. I can't work out how to reference portable library projects from
 MonoTouch projects - I can add the references, but as soon as I select a
 configuration like Debug|iPhoneSimulator then the PLP is greyed out and
 not build in active configuration appears.


What configurations does it work with? I could have sworn this worked.

Could you submit a bug for this one, too?

I'll look into this one as well.



 I appreciate that much of what I'm trying here is on the edge of what has
 currently been tried, and I realise that some of the features I'm trying to
 use are only available in Beta from Microsoft, but I really strongly
 believe
 in this as the way forwards - so that's why I'm trying so hard to get it
 working :)


We think it's the way forward, too.



 Has anyone got any ideas about what I could try to move this forwards? I am
 toying with the monodevelop source code right now, but haven't really
 gotten
 very far into it yet. If anyone has any ideas or suggestions I'd love to
 hear them.


The easiest way to poke around the .NETPortable stuff is probably to use
`git log --author=jeff` and then search for .NETPortable (it's how I remind
myself where the source files are!)

For example, one of the source files
is: main/src/core/MonoDevelop.Core/MonoDevelop.Projects/PortableDotNetProject.cs


Hope that helps,

Jeff
___
MonoTouch mailing list
MonoTouch@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/monotouch


Re: [MonoTouch] Using Portable Library Projects in MonoDevelop/MonoTouch

2012-05-25 Thread Stuart Lodge
Thanks Jeff

Will drill down through your ideas during this weekend and into next week.
I'm already logging a few issues - but don't want to log too many when I
know I'm working on the edge of the dev curve.

What sort of thing do you need to know for the profiles - I've got this
https://gist.github.com/2788579

And I've also got very helpful contact from Daniel (@dsplaisted) within the
MS PCL/PLP team if that helps - he seems genuinely really keen to see PCLs
used across all platforms.

Stuart

On 25 May 2012 15:22, Jeff Stedfast j...@xamarin.com wrote:

 Hi Stuart,

 On Fri, May 25, 2012 at 9:02 AM, slodge m...@slodge.com wrote:

 Hi All

 I'm still plugging away at trying to get Portable Library projects to work
 fully across wp7, winrt, droid and touch.

 I'm especially trying this as it will deliver lots of benefits in terms of
 refactoring and csproj project management to me as a cross platform
 developer.

 I've previously managed to:

 - get all projects to build in VS2010 - using VSMonoTouch with a fair
 amount
 of hacking -
 http://slodge.blogspot.co.uk/2012/04/using-portable-library-tools-for.html

 - get all projects to run in wp7, winrt and monodroid from the PC

 - get MonoTouch/MonoDevelop on the Mac to load Portable Library Project
 files - but this seems only to work if I force the Profile type to
 Profile1

 - get MonoTouch projects to use Portable Class Libraries if I add them as
 compiled references rather than as project references.

 However, there are still a few gaps I'm trying to fill - all of them on
 MonoDevelop on the Mac:

 1. I don't seem to be able to find any way to load PLPs project files in
 MonoDevelop outside of Profile1 - if the .csproj file contains anything
 other than Profile1 in
 `TargetProfileFrameworkProfile1/TargetProfileFramework` then it won't
 load.


 Hmm, this seems like a bug. I'll look into this. Could you submit a bug
 report to http://bugzilla.xamarin.com for tracking? The IPhone Add-In
 component is a good place to submit these (that should auto-assign the bugs
 to me).



 2. I can't work out how to edit the installed profiles. Ideally I'd like
 to
 go even further than Profile 4 - ideally I'd like to extend this all the
 way
 up to Profile 104 as I can then link in my own type
 redirection/substitution
 stubs for the limited required System.Net and System.Windows assemblies.


 There's currently no editor UI for this because we currently do not have
 any of the XML files that define the profiles, so the only way to have done
 it would have been to hard-code the profile names and relations.

 We want to eventually have full support for .NETPortable projects and be
 compatible with Microsoft, but we do not currently have the XML / API
 definitions for the profiles as part of Mono. It *is* in our queue to
 figure out how to generate these, because long-term we agree that this is
 the way forward.

 Once we find a way to include those in Mono, it'll become a high priority
 to implement a UI for selecting these profile configurations.



 3. I can't work out how to reference portable library projects from
 MonoTouch projects - I can add the references, but as soon as I select a
 configuration like Debug|iPhoneSimulator then the PLP is greyed out and
 not build in active configuration appears.


 What configurations does it work with? I could have sworn this worked.

 Could you submit a bug for this one, too?

 I'll look into this one as well.



 I appreciate that much of what I'm trying here is on the edge of what has
 currently been tried, and I realise that some of the features I'm trying
 to
 use are only available in Beta from Microsoft, but I really strongly
 believe
 in this as the way forwards - so that's why I'm trying so hard to get it
 working :)


 We think it's the way forward, too.



 Has anyone got any ideas about what I could try to move this forwards? I
 am
 toying with the monodevelop source code right now, but haven't really
 gotten
 very far into it yet. If anyone has any ideas or suggestions I'd love to
 hear them.


 The easiest way to poke around the .NETPortable stuff is probably to use
 `git log --author=jeff` and then search for .NETPortable (it's how I remind
 myself where the source files are!)

 For example, one of the source files
 is: 
 main/src/core/MonoDevelop.Core/MonoDevelop.Projects/PortableDotNetProject.cs


 Hope that helps,

 Jeff


___
MonoTouch mailing list
MonoTouch@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/monotouch


Re: [MonoTouch] Using Portable Library Projects in MonoDevelop/MonoTouch

2012-05-25 Thread Stuart Lodge
Just logged the two issues and also updated the Gist so it shows slightly
more public member info in the profile dump -
https://gist.github.com/2788579

Hope that helps

Thanks again for your answers :)

Stuart - away for the weekend so will get back on this next week now :)
___
MonoTouch mailing list
MonoTouch@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/monotouch


Re: [MonoTouch] Using Portable Library Projects in MonoDevelop/MonoTouch

2012-05-25 Thread Jeff Stedfast
Thanks Stuart, I'll look into these issues.

Jeff

On Fri, May 25, 2012 at 11:25 AM, Stuart Lodge m...@slodge.com wrote:

 Just logged the two issues and also updated the Gist so it shows slightly
 more public member info in the profile dump -
 https://gist.github.com/2788579

 Hope that helps

 Thanks again for your answers :)

 Stuart - away for the weekend so will get back on this next week now :)

___
MonoTouch mailing list
MonoTouch@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/monotouch