These are chat archives for Ruhrpottpatriot/GW2.NET

15th
Sep 2015
Steven Liekens
@StevenLiekens
Sep 15 2015 13:21
I mailed updated nuget packages
both for 1.1 and 1.2
since 1.1 is unusable right now
I don't expect that anyone will still want to use 1.0 or 1.1 but it's bad form to skip a version
SteveN is fine btw
Steven Liekens
@StevenLiekens
Sep 15 2015 13:31
@SamHurne what did you do to work around crashes in 1.0?
for g2wpao
Steven Liekens
@StevenLiekens
Sep 15 2015 14:09
okay since we haven't pushed 1.2, I'm taking the liberty to make some improvements
and force push a new tag
Steven Liekens
@StevenLiekens
Sep 15 2015 14:25
I'm changing GW2NET.Core package version restrictions to [$version$, 2.0)
from 1.2.0 onwards
which means "any version equal or greater than my version but less than 2.0"
so 1.2.0 will be able to use Core version 1.3.0 or 1.4.0 but not 2.0.0
Steven Liekens
@StevenLiekens
Sep 15 2015 14:31
<dependency id="GW2NET.Core" version="[$version$,2.0)" />
Robert Logiewa
@Ruhrpottpatriot
Sep 15 2015 14:32
Do I need to change the NuGet packages, or can I upload them as you mailed me?
Steven Liekens
@StevenLiekens
Sep 15 2015 14:32
you can upload 1.1.0 but not 1.2.0
Robert Logiewa
@Ruhrpottpatriot
Sep 15 2015 14:32
k
I'm currently looking into MEF and DI
Steven Liekens
@StevenLiekens
Sep 15 2015 14:33
I'm making some last minute changes to 1.2.0
Robert Logiewa
@Ruhrpottpatriot
Sep 15 2015 14:33
we might have a small problem with the way you proposed it, but I'm looking into a way to fix that
Steven Liekens
@StevenLiekens
Sep 15 2015 14:33
bleh
I hate not knowing how to do something properly
Robert Logiewa
@Ruhrpottpatriot
Sep 15 2015 14:41
hehe, go read it up :)
Steven Liekens
@StevenLiekens
Sep 15 2015 14:41
if the problem is existing code then just throw it all out
I really want a proper bootstrapping and dependency management mechanism
Steven Liekens
@StevenLiekens
Sep 15 2015 14:56
is one of the problems the fact that almost everything is internal?
crap
the guildwars2.com domain is blocked by my proxy
company proxy
well, it's good to know that the code handles it well
Steven Liekens
@StevenLiekens
Sep 15 2015 15:01
forbidden.png
Steven Liekens
@StevenLiekens
Sep 15 2015 15:11
@Ruhrpottpatriot I pushed a new tag for 1.2.0 and this zip contains the packages for that commit
these packages have less strict version rules
so next time we find a bug in V2.Items or whatever, we only need to update V2.Items
instead of updating all packages
Robert Logiewa
@Ruhrpottpatriot
Sep 15 2015 15:30
@StevenLiekens No, it has something to do with MEF by itself
@StevenLiekens You saw, that 1.20 does not build? see https://ci.appveyor.com/project/Ruhrpottpatriot/gw2-net
Steven Liekens
@StevenLiekens
Sep 15 2015 15:34
missing packages
that's why
Robert Logiewa
@Ruhrpottpatriot
Sep 15 2015 15:40
ah
Testing now, but I could be that MEF is not fully compatible with portable class libraries
Robert Logiewa
@Ruhrpottpatriot
Sep 15 2015 16:37
Ok, we have a slight problem with MEF, while the PCL framework does support some of our needs, a few are sorely missing: a) we don't have re-composition, meaning after the parts have been discovered they stay that way for the application lifetime b) Importing custom collections is not possible c) we cannot import into fields or properties that are private. This means, we would have to make the imports publicy visible to everyone, of which I am not a fan.
Steven Liekens
@StevenLiekens
Sep 15 2015 17:44
I don't mind c)
but
is there no constructor injection in MEF?
or better
only use MEF at the boundaries between the bootstrapper and the individual service implementations
Steven Liekens
@StevenLiekens
Sep 15 2015 17:50
and for the service implementation internals use a DI container
if that makes sense
like
we know everything about how to compose a ColorRepository for v1 and v2
so it wouldn't make sense to introduce MEF for composing it
we'd use a DI container for that
but the bootstrapper on the other hand knows what a ColorRepository is but not know how many versions of it are there
so that's where we'd use MEF to discover and load the correct version
Steven Liekens
@StevenLiekens
Sep 15 2015 17:56
I hope my ramblings make sense
it does in my mind
Robert Logiewa
@Ruhrpottpatriot
Sep 15 2015 18:34
MEF is a DI container in it's own right. However I only used MEF1 so far, and have to get into MEF2. And both are very different
Currently looking into autofac for DI and IoC
Most problems I face are bound to PCLs itself however, since we need to load the assemblies, but we only have Assembly.Load(), which does not allow loading from a path
Robert Logiewa
@Ruhrpottpatriot
Sep 15 2015 18:54
@StevenLiekens You know how to get the path of the PC assembly?