Open GoogleCodeExporter opened 9 years ago
Michael:
IBatisNet.Common use specific 3.0 and 3.5 framework classes.
In the case of 2.0 it fails because of Linq (3.5) and System.ServiceModel
(3.0). In 3.0 the problem is Linq.
The affected classes are:
2.0:
WcfSessionItemsInstanceExtension: System.ServiceModel
HybridWebThreadSessionStore: System.ServiceModel
InstanceItems: Linq
WcfSessionStore: requires WcfSessionItemsInstanceExtension
In 3.0:
InstanceItems: Linq
WcfSessionItemsInstanceExtension: requires InstanceItems
WcfSessionStore: requires WcfSessionItemsInstanceExtension
HybridWebThreadSessionStore: requires WcfSessionItemsInstanceExtension
The solution I suspect we can adopt is:
For 2.0:
- Exclude SessionStore classes: it's impossible to use a 3.0 implementation.
All the threads for WCF has to be droped.
WcfSessionItemsInstanceExtension
HybridWebThreadSessionStore
WcfSessionStore
In the case of Linq we can use LinqBridge. The effect is in the
InstanceItems.cs class. Another solution is to change the InstanceItems.CleanUp
method (it's the only one that uses Linq)
For 3.0:
In the case of Linq we can use LinqBridge. The effect is in the
InstanceItems.cs class. Another solution is to change the InstanceItems.CleanUp
method (it's the only one that uses Linq)
----------------------
Please, I need your confirmation on the way I should take in order to build for
2.0, 3.0, 3.5, 4.
Greetings and sorry for my poor english!
Original comment by juanpabl...@gmail.com
on 6 Jan 2011 at 4:09
Juan,
We'll need to do in and add a compiler directive to exclude those features for
a build less than .net 3.0 and have the .nant files supply that directive
Original comment by mmccur...@gmail.com
on 10 Jan 2011 at 3:46
Michael:
I Already have done this. Today I commited the build files.
In the IBatisNet.DataMapper.build file you can see the validation for 2.0:
if target = net-2.0:
Exclude: { WcfSessionStore.cs, InstanceItems.cs,
WcfSessionItemsInstanceExtension.cs, HybridWebThreadSessionStore.cs }
Else:
Exclude: { InstanceItems-net20.cs }
InstanceItems-net20.cs is a copy & paste of InstanceItems.cs. The only
difference is that it does not have the Hook method (event triggered in
WcfSessionItemsInstanceExtension.GetCollectionFrom).
Now you can build nant for .Net-2.0 and .Net-3.5. I have to install the 3.0
version to test on it, besides the 4.0.
Todo: add the ndoc target. Today or tomorrow i'll wait to have it.
Greetings and sorry for my poor english!
---- Nant options: ----
nant clean
nant clean-zip
nant debug
nant release
nant package
example: nant release -t:net-2.0
The output files are in the "Nant" directory.
Original comment by juanpabl...@gmail.com
on 10 Jan 2011 at 5:39
Original issue reported on code.google.com by
mmccur...@gmail.com
on 20 Dec 2010 at 3:34