Насколько я понимаю, провайдер типов F#всегда будет не-переносимой библиотекой классов (, например будет использовать Reflection.Emit, которого нет в WinRT). Чтобы использовать его в моей библиотеке классов F#, мне нужно добавить ссылку на DLL поставщика типов, так что библиотека должна быть не-переносимой для компиляции.
В этом случае я с удовольствием разделю сборку на одну переносимую и ту, которая использует провайдер типов. Единственный способ заставить это скомпилироваться — добавить ссылку на Fsharp.Core в мой проект приложения C#(.NET 4.5 )-, но во время выполнения все еще существует конфликт между версиями FSharp.Core..
{"Could not load file or assembly 'FSharp.Core, Version=2.3.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.":"FSharp.Core, Version=2.3.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}
Могу ли я разрешить конфликт, неправильно ли я использую провайдеров типов или это что-то, что еще нельзя сделать?