Переносимые библиотеки с поставщиками типов

Насколько я понимаю, провайдер типов 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"}

Могу ли я разрешить конфликт, неправильно ли я использую провайдеров типов или это что-то, что еще нельзя сделать?

8
задан Nicholas W 9 April 2012 в 20:40
поделиться