Is it worth to have StructureMap version that's compatible with 3.5 Client Profile and Silverlight?

146 views
Skip to first unread message

Gleb Chermennov

unread,
Mar 6, 2013, 8:00:36 AM3/6/13
to structure...@googlegroups.com
I may be the only one thinking it's useful, but still - I'm thinking about supporting extra branch of StructureMap that will compile under 3.5 client profile (that would be extremely useful for destop app developers) and - may be - Silverlight. 
The thing is - I don't know if StructureMap is popular among guys that write client-side software? Does they use IoC containers at all (I hope they do)?
I hoped NuGet can provide some insight into this, but since they don't even know what frameworks are supported in a package (or at least I didn't find out the way to get that info), I suppose it's no use.
I suppose it won't be too hard to transfer SM back to 3.5 since it's only uses Lazy<T> goodness of 4.0. System.Web dependency was removed lately (it now resides in separate project), so that won't be a problem.
Thoughts? Suggestions? Of course, Jeremy's opinion would be great to hear.

Jeremy D. Miller

unread,
Mar 6, 2013, 8:08:02 AM3/6/13
to structure...@googlegroups.com
Ugh, ok, so-->

* You'll never make everybody happy with the versions you support.  Yeah, I suppose we could back port Lazy<T> by itself to 3.5. That one's not that bad.
* The SL support is a huge PITA and I've always been happy to let SL be Ninject/Windsor/Autofac's problem.  I'm game to do it if someone not named "Jeremy" is supporting it.  I don't use SL/WP7/WP8/WinRT and likely never will, so I'm not knowledgable enough to deal with all the differences -- and they are definitely there.  That being said, it should be easier now than it was before after we cut it down to Client Profile.

I'd have to hear more than  a few people wanting StructureMap on Silverlight/Windows Phone/whatever to justify the effort and the can of support worms it'll open up.


--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-us...@googlegroups.com.
To post to this group, send email to structure...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/structuremap-users/-/v8vQrMipK7IJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Pete Johanson

unread,
Mar 6, 2013, 8:24:56 AM3/6/13
to structuremap-users

3.5 Client Profile would be appreciated here. We use SM extensively in our desktop apps, and it would be nice to be able to use the new improvements.

SL, WP, etc I could care less...

-pete

Gleb Chermennov

unread,
Mar 6, 2013, 9:18:58 AM3/6/13
to structure...@googlegroups.com
My proposal is this - let me do 3.5 Client Profile, and then, if not very busy, I'll look into Silverlight/WP/PCL.
I suppose no one is against this one :)

среда, 6 марта 2013 г., 17:24:56 UTC+4 пользователь Pete Johanson написал:

3.5 Client Profile would be appreciated here. We use SM extensively in our desktop apps, and it would be nice to be able to use the new improvements.

SL, WP, etc I could care less...

-pete

On Mar 6, 2013 8:08 AM, "Jeremy D. Miller" <jeremy...@yahoo.com> wrote:
Ugh, ok, so-->

* You'll never make everybody happy with the versions you support.  Yeah, I suppose we could back port Lazy<T> by itself to 3.5. That one's not that bad.
* The SL support is a huge PITA and I've always been happy to let SL be Ninject/Windsor/Autofac's problem.  I'm game to do it if someone not named "Jeremy" is supporting it.  I don't use SL/WP7/WP8/WinRT and likely never will, so I'm not knowledgable enough to deal with all the differences -- and they are definitely there.  That being said, it should be easier now than it was before after we cut it down to Client Profile.

I'd have to hear more than  a few people wanting StructureMap on Silverlight/Windows Phone/whatever to justify the effort and the can of support worms it'll open up.

On Mar 6, 2013, at 7:00 AM, Gleb Chermennov <thebitt...@gmail.com> wrote:

I may be the only one thinking it's useful, but still - I'm thinking about supporting extra branch of StructureMap that will compile under 3.5 client profile (that would be extremely useful for destop app developers) and - may be - Silverlight. 
The thing is - I don't know if StructureMap is popular among guys that write client-side software? Does they use IoC containers at all (I hope they do)?
I hoped NuGet can provide some insight into this, but since they don't even know what frameworks are supported in a package (or at least I didn't find out the way to get that info), I suppose it's no use.
I suppose it won't be too hard to transfer SM back to 3.5 since it's only uses Lazy<T> goodness of 4.0. System.Web dependency was removed lately (it now resides in separate project), so that won't be a problem.
Thoughts? Suggestions? Of course, Jeremy's opinion would be great to hear.

--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-users+unsub...@googlegroups.com.

To post to this group, send email to structure...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/structuremap-users/-/v8vQrMipK7IJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-users+unsub...@googlegroups.com.

Jeremy D. Miller

unread,
Mar 6, 2013, 9:23:55 AM3/6/13
to structure...@googlegroups.com
Dude, you're everywhere!  The problem with SL/WP/PCL will be ongoing support when folks start hitting all the odd ways that reflection behaves differently on the different platforms.  Just be careful with what you're signing up for;)


To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-us...@googlegroups.com.

To post to this group, send email to structure...@googlegroups.com.

Gleb Chermennov

unread,
Mar 6, 2013, 9:31:37 AM3/6/13
to structure...@googlegroups.com
Well, that's just a plan - and we all know how it's with plans and schedules in software development :)
About support - yeah, issues will definitely arise, that means I have to research how other people do it.

среда, 6 марта 2013 г., 18:23:55 UTC+4 пользователь Jeremy Miller написал:

Gleb Chermennov

unread,
Mar 6, 2013, 2:03:56 PM3/6/13
to structure...@googlegroups.com
after doing a little bit of research, I figured out that Windsor and NInject support both client profile and Silverlight versions 3 to 5.
Autofac seems to support Silverlight starting from version 5 and WP8 - that means that they have PCL version too, I guess.
So, to quote one of my favourite action movies - "we are hopelessly outgunned" :(

среда, 6 марта 2013 г., 18:31:37 UTC+4 пользователь Gleb Chermennov написал:

Tim Kellogg

unread,
Mar 6, 2013, 8:56:53 PM3/6/13
to structure...@googlegroups.com

When it comes to Lazy<T>, I actually have it working with 2.6 with not too much difficulty. No reason to target 4.0 when you can just register it (or not target SL, etc).

To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-us...@googlegroups.com.

To post to this group, send email to structure...@googlegroups.com.

Jimmy Bogard

unread,
Mar 7, 2013, 5:51:58 AM3/7/13
to structure...@googlegroups.com
Having just done PCL support for AutoMapper for .NET 3.5, SL4, WP75, WinRT etc. it's not that bad. The hardest thing honestly is getting all the tests to run.

I'll take a look once I push the PCL version out this week for AutoMapper. PCL hides the crazy.

BUT

Caveat - you might have to have two assemblies. One PCL and one platform-specific for platform-specific features (i.e., you won't have Expression.SetField or SetProperty in PCL, so now what?). The StructureMap.SL4.dll would then reference StructureMap.dll (PCL), and would "light up" for specific features.

Or do feature detection to detect whether or not Expression.SetField exists, use it (via reflection) or just do FieldInfo stuff.

All possible, not horrible, and you probably won't have to do any #if !SILVERLIGHT garbage.

This would probably be a better discussion as a GitHub issue imo

Frank L. Quednau

unread,
Mar 7, 2013, 11:27:36 AM3/7/13
to structure...@googlegroups.com
We use SM extensively client side, alas we are targetting .NET 4 CP : When I still was a consultant, it wasn't a problem to target the latest .NET version, so I am surprised this is an issue.

With regard to PCL - Vagif Abilov hacked a tool together that should give you a feeling of the effort to port to PCL : http://bloggingabout.net/blogs/vagif/archive/2013/02/05/check-your-code-portability-with-pcl-compliance-analyzer.aspx

Maybe someone can let that run over the SM code?

Jimmy Bogard

unread,
Mar 7, 2013, 11:35:19 AM3/7/13
to structure...@googlegroups.com
Off-hand question - why target the client profile?

--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-us...@googlegroups.com.
To post to this group, send email to structure...@googlegroups.com.

Jeremy D. Miller

unread,
Mar 7, 2013, 11:55:38 AM3/7/13
to structure...@googlegroups.com
Bragging rights?  My thought was that it would make it easier for us as a stepping stone to other versions of the framework.  For my part, I like the idea of a much thinner core library anyway.  Especially with the nested container implementation being fixed for SM3 (and it is finally), the need for HttpContext related scoping should be going away.

Gleb Chermennov

unread,
Mar 7, 2013, 3:04:33 PM3/7/13
to structure...@googlegroups.com
Thanks for the suggestions, Jimmy. I'll definitely take a look at how you support these platforms.

четверг, 7 марта 2013 г., 14:51:58 UTC+4 пользователь Jimmy Bogard написал:
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-users+unsubscribe@googlegroups.com.

To post to this group, send email to structure...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/structuremap-users/-/v8vQrMipK7IJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-users+unsubscribe@googlegroups.com.

To post to this group, send email to structure...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-users+unsubscribe@googlegroups.com.

To post to this group, send email to structure...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/structuremap-users/-/7owz-7hG-IkJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-users+unsub...@googlegroups.com.
To post to this group, send email to structure...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/structuremap-users/-/EVaXb5yNTDIJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.

Gleb Chermennov

unread,
Mar 7, 2013, 3:05:18 PM3/7/13
to structure...@googlegroups.com
From what I understand, desktop apps (WPF) usually target client profile since it'll leave a smaller footprint on a system if a user doesn't have .NET version installed - that is, version that app requires. 

четверг, 7 марта 2013 г., 20:55:38 UTC+4 пользователь Jeremy Miller написал:
Bragging rights?  My thought was that it would make it easier for us as a stepping stone to other versions of the framework.  For my part, I like the idea of a much thinner core library anyway.  Especially with the nested container implementation being fixed for SM3 (and it is finally), the need for HttpContext related scoping should be going away.

On Mar 7, 2013, at 10:35 AM, Jimmy Bogard <jimmy....@gmail.com> wrote:

Off-hand question - why target the client profile?

On Thu, Mar 7, 2013 at 10:27 AM, Frank L. Quednau <fque...@googlemail.com> wrote:
We use SM extensively client side, alas we are targetting .NET 4 CP : When I still was a consultant, it wasn't a problem to target the latest .NET version, so I am surprised this is an issue.

With regard to PCL - Vagif Abilov hacked a tool together that should give you a feeling of the effort to port to PCL : http://bloggingabout.net/blogs/vagif/archive/2013/02/05/check-your-code-portability-with-pcl-compliance-analyzer.aspx

Maybe someone can let that run over the SM code?


On Wednesday, 6 March 2013 14:00:36 UTC+1, Gleb Chermennov wrote:
I may be the only one thinking it's useful, but still - I'm thinking about supporting extra branch of StructureMap that will compile under 3.5 client profile (that would be extremely useful for destop app developers) and - may be - Silverlight. 
The thing is - I don't know if StructureMap is popular among guys that write client-side software? Does they use IoC containers at all (I hope they do)?
I hoped NuGet can provide some insight into this, but since they don't even know what frameworks are supported in a package (or at least I didn't find out the way to get that info), I suppose it's no use.
I suppose it won't be too hard to transfer SM back to 3.5 since it's only uses Lazy<T> goodness of 4.0. System.Web dependency was removed lately (it now resides in separate project), so that won't be a problem.
Thoughts? Suggestions? Of course, Jeremy's opinion would be great to hear.

--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-users+unsub...@googlegroups.com.

To post to this group, send email to structure...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/structuremap-users/-/HBnp3M8HV-QJ.

For more options, visit https://groups.google.com/groups/opt_out.
 
 


--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-users+unsub...@googlegroups.com.

Gleb Chermennov

unread,
Mar 7, 2013, 4:48:38 PM3/7/13
to structure...@googlegroups.com
This looks like a very useful tool, thanks Frank.

четверг, 7 марта 2013 г., 20:27:36 UTC+4 пользователь Frank L. Quednau написал:

Gleb Chermennov

unread,
Mar 8, 2013, 12:42:37 PM3/8/13
to structure...@googlegroups.com
Hm, may be I used the tool in a wrong way, but it says that current StructureMap assembly has 158 calls incompatible with .NET 4.
I'm confused a little bit.

пятница, 8 марта 2013 г., 1:48:38 UTC+4 пользователь Gleb Chermennov написал:

Gleb Chermennov

unread,
Apr 25, 2013, 3:01:43 PM4/25/13
to structure...@googlegroups.com
In case I do migrate StructureMap back to 3.5, should I do so with test projects, mocking support and SM.Web?

среда, 6 марта 2013 г., 17:08:02 UTC+4 пользователь Jeremy Miller написал:
Ugh, ok, so-->

* You'll never make everybody happy with the versions you support.  Yeah, I suppose we could back port Lazy<T> by itself to 3.5. That one's not that bad.
* The SL support is a huge PITA and I've always been happy to let SL be Ninject/Windsor/Autofac's problem.  I'm game to do it if someone not named "Jeremy" is supporting it.  I don't use SL/WP7/WP8/WinRT and likely never will, so I'm not knowledgable enough to deal with all the differences -- and they are definitely there.  That being said, it should be easier now than it was before after we cut it down to Client Profile.

I'd have to hear more than  a few people wanting StructureMap on Silverlight/Windows Phone/whatever to justify the effort and the can of support worms it'll open up.

On Mar 6, 2013, at 7:00 AM, Gleb Chermennov <thebitt...@gmail.com> wrote:

I may be the only one thinking it's useful, but still - I'm thinking about supporting extra branch of StructureMap that will compile under 3.5 client profile (that would be extremely useful for destop app developers) and - may be - Silverlight. 
The thing is - I don't know if StructureMap is popular among guys that write client-side software? Does they use IoC containers at all (I hope they do)?
I hoped NuGet can provide some insight into this, but since they don't even know what frameworks are supported in a package (or at least I didn't find out the way to get that info), I suppose it's no use.
I suppose it won't be too hard to transfer SM back to 3.5 since it's only uses Lazy<T> goodness of 4.0. System.Web dependency was removed lately (it now resides in separate project), so that won't be a problem.
Thoughts? Suggestions? Of course, Jeremy's opinion would be great to hear.

--
You received this message because you are subscribed to the Google Groups "structuremap-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structuremap-users+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages