2016-10-10 33 views

回答

2

我不認爲這是可能的。

語言規範沒有提及它,並且--reference編譯器選項到fsc.exe不接受別名引用(儘管this page稱它等價於C#編譯器選項)。

如果您確實需要此功能,則將extern alias用於C#項目,並且引用來自F#的項目似乎是您最安全的選擇。或者使用Assembly.LoadFrom動態加載一個或兩個dll。

+0

感謝您的提示。看起來像後者更容易,因爲前解決方案將包括4個DLL - 兩個包裝的每一個,然後底層的DLL,是正確的? –

+0

我正在考慮兩個底層dll,然後是使用extern別名的C#包裝器,並從兩者公開功能,然後使用它的F#dll。如果其他解決方案適用於您,那也很好。 – scrwtp

+0

爲了澄清先前的評論,不可能通過C#「清除」別名 - 它將在其中定義了別名的C#項目本地化。但是,您可以通過C#包裝類將功能展示給F#。 –