-
Notifications
You must be signed in to change notification settings - Fork 0
Using .net assemblies
OpenWrap supports packaging and resolving assemblies for many platforms and framework profiles.
When OpenWrap needs to resolve dependencies, it starts by detecting which platform and profile is currently in use.
Let's take an example of a .net web application relying on a JSON formatter, compiled for .net 3.5. The package has the following layout:
- bin-net20
- Json.Formatter.dll
- CommonCode.dll
- bin-net35
- Json.Formatter.dll
OpenWrap sees that the platform-profile is AnyCPU-net35, and look in order of compatbility. First, it loads all the assemblies in the net35 export. Then, as .net 2 assemblies can be loaded in .net 3.5, that folder is scanned for assemblies. As a Json.Formatter.dll has already been included, there is no need to add that one, so it gets ignored. CommonCode.dll is new, so it gets used.
Supported profiles:
Uses: | net40 | net40cp | net35 | net35cp | net30 | net20 | monotouch20 | monodroid20 |
---|---|---|---|---|---|---|---|---|
net40 | X | X | X | X | X | X | ||
net40cp | X | X | X | X | ||||
net35cp | X | X | X | |||||
net30 | X | X | ||||||
net20 | X | |||||||
monotouch20 | X | |||||||
monodroid20 | X |
*Note that while monotouch and monodroid are supported in the packaging format, there is no support yet to hook-up the profile value in a monotouch or monodroid project. It would be trivial to add, so if you wish to make this happen, you can track the issue or contribute code.