The following is from a mail I got via nuget.
"I have run into a compiler warning with a version of this package used in F# WPF Application templates.
It says "Found conflicts between different versions of the same dependent assembly"
I downloaded this program called assembly spy (asmspy.exe) which checks for conflicts, and it turns out there are 5 versions of "FSharpx.TypeProviders" in the package on the NuGet website:
188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124
I got these references from installing package "126.96.36.199 Thursday, September 13, 2012" directly from the "Package Manager Console" in Visual Studio 2012.
Here is a list of all the references (the app name is "FSTest2": a console application which installs the package and lifts the code and xaml from your "WPFSample" app):
Reference: mscorlib 188.8.131.52 by FSharp.Core 184.108.40.206 by FSharpx.Core 220.127.116.11 by FSharpx.TypeProviders 18.104.22.168 by FSharpx.TypeProviders 22.214.171.124 by FSTest2 Reference: System.Core 126.96.36.199 by FSharp.Core 188.8.131.52 by FSharpx.Core Reference: System 184.108.40.206 by FSharp.Core 220.127.116.11 by FSharpx.Core 18.104.22.168 by FSharpx.TypeProviders Reference: System.Numerics 22.214.171.124 by FSharp.Core Reference: FSharp.Core 126.96.36.199 by FSharpx.Core 188.8.131.52 by FSharpx.TypeProviders 184.108.40.206 by FSTest2 Reference: FSharp.PowerPack 220.127.116.11 by FSharpx.Core Reference: Microsoft.Office.Interop.Excel 18.104.22.168 by FSharpx.TypeProviders Reference: System.Xml 22.214.171.124 by FSharpx.TypeProviders Reference: System.Xml.Linq 126.96.36.199 by FSharpx.TypeProviders Reference: PresentationFramework 188.8.131.52 by FSharpx.TypeProviders 184.108.40.206 by FSTest2 220.127.116.11 by FSTest2 Reference: System.Configuration 18.104.22.168 by FSharpx.TypeProviders Reference: FSharpx.Core 22.214.171.124 by FSharpx.TypeProviders Reference: PresentationCore 126.96.36.199 by FSTest2 Reference: FSharpx.TypeProviders 188.8.131.52 by FSTest2
At the moment I'm trying to build the TypeProviders package with .NET 4.0 - let's see if this works.
Create the type providers for .NET 4.0 - issue #91
Make FSharpx.Core a dependency to FSharpx.TypeProviders - issue #91
Don't build TypeProviders on CI server - issue #91
Copy the FSharp.Core.dll directly into the package - the nuget depend…
…ency doesn't work. - issue #91
I managed to make the FSharpx.TypeProviders work with .NET 4.0. It seems we don't need to create a .NET 4.5 package any longer.
I also tried to add the FSharpx.Core package as a to the FSharpx.TypeProviders package. But this doesn't work. In this case the type provider architecture can't find the right FSharpx.Core.dll. (The nuget installation process seems to be OK)
If I remove the package dependency and add the FSharpx.Core.dll directly into the FSharpx.TypeProviders package everything works fine. At least the steps from http://www.navision-blog.de/2012/03/22/wpf-designer-for-f/ are working again.
/cc @mausch @panesofglass @dsyme
I got help from Don. I'll use ILMerge to solve this.
A little background: A type provider is a stand alone tool. The nuget package dependency makes no sense. I didn't realised this before.
Does that mean that a type provider can never depend on any non system assembly?
As I understand it: This means you have to put everything the type provider needs into the same folder or into the GAC.
(You could also load stuff dynamicly from your type provider code)
Ok, so that was why when I tried to move the json parser to FSharp.Core, the type provider stopped working, I only put it as a nuget dependency
Exactly. I'm trying to solve this now.
Using ILMerge to merge FSharpx.Core into FSharpx.TypeProviders.dll - …
seems to work
Great. Do you want to try to move the json stuff back to fsharp.core? It's genuinely useful outside of the type provider
Yep. It's still not that easy, but I think I'll have it tomorrow.
Moving the JSON parser down to Core - issue #91