我有一个项目,其中包含两个F#项目和一个C#项目,我想在其中编写一些XUnit测试:
我无法将测试中的引用添加到任何一个F#库中.
当我尝试添加对FS_PL的引用时,我看到一个对话框,指出"无法添加对项目'FS_PL'的引用.可移植库项目'FS_PL'的目标与目标不同或与当前便携式图书馆项目":

这很奇怪,因为我的测试和FS_PL库都配置为以.NET 4.5和Windows 8为目标.
所以我创建了FS_PL_Legacy并尝试添加对它的引用.这样做给了我一个非常"有用"的消息,指出"无法添加对项目'FS_PL_Legacy'的引用":

有谁知道我做错了什么?
使用miegirl解决此问题的Connect问题的解决方法,我在C#项目中添加了以下内容:
<ItemGroup>
<!-- Manually added reference to F# projects to overcome issue discussed here:
http://stackoverflow.com/questions/23111782/how-do-i-add-a-reference-to-f-portable-library-from-c-sharp-portable-class-libr
-->
<ProjectReference Include="..\FS_PL\FS_PL.fsproj">
<Project>{2c4b1776-3d34-4534-8520-8a1e6daa0e6e}</Project>
<Name>FS_PL</Name>
</ProjectReference>
<ProjectReference Include="..\FS_PL_Legacy\FS_PL_Legacy.fsproj">
<Project>{0d7b657c-906b-4448-ae64-2153a1fa910c}</Project>
<Name>FS_PL_Legacy</Name>
</ProjectReference>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
这至少允许VS引用F#项目,但是那些项目被标记了几个警告,并且C#可移植库无法构建,因为它无法引用一个或两个F#库中的类型:(
构建输出窗口中的大多数警告表明无法引用F#库,因为它们似乎具有"对框架程序集的间接依赖"[System.Threading/System.Lync/etc.]"无法在目前有针对性的框架"