views:

57

answers:

1

I've started using Quartz.Net in a class library project I have. It seems to need require my project to target the full .NET Framework 4, or else I get “type or namespace name could not be found” type errors.

The follow on issue is that in my .NET 4 WPF application (which uses this project class library) I get similar issues and have to set the client app target to the full .NET Framework 4 (from the .Net 4 Client Profile).

Is there a way when using Quartz.Net to still be able to have my client app target the .Net 4 Client Profile?

+2  A: 

I would guess that Quartz.net references System.Web which means it must target the full framework. You can investigate this easily using Reflector (I would have a look myself but I'm not near a computer at the moment). I had a similar issue with log4net. Unfortunately I had to make a custom build of log4net so that I could remove the System.Web dependencies and so target the client profile for my WPF app.

If you want to target the client profile, then all assemblis you reference need to meet client profile requirements too.

Someone else might have a custom Quartz.net fork for the client profile, but if not you might have to tackle this yourself. it's open source.

chibacity
how important was it for you chibacity to keep the client at the client profile? Does it make that much difference re footprint?
Greg
@Greg We've had a *lot* of back-and-forth over full vs client profile. It really came down to what effect it would have on download size for our users (who didn't have this newish framework), coupled with the fact that client profile will be made available as a Windoes automatic update (although that's a mixed bag). We also try to stick to a principal of trying to be lean where reasonable to stop bloat getting out-of-hand. It's a tricky decision, but one which hasn't caused us that much grief. We were lucky with log4net - 10 minute job which was surprising. HTH.
chibacity