引用x64 dll文件在C#中有效,但在F中无效#
我使用最新的VS 2010创建了两个全新的解决方案:引用x64 dll文件在C#中有效,但在F中无效#,c#,visual-studio-2010,dll,f#,vtk,C#,Visual Studio 2010,Dll,F#,Vtk,我使用最新的VS 2010创建了两个全新的解决方案: C#控制台应用程序 F#控制台应用程序 我引用了两个x64 dll文件:Kitware.VTK.dll和Kitware.mummy.Runtime.dll (可在此下载:) 当我使用Kitware编写时,C#VS 2010会找到名称空间 当我编写openkitware时,F#vs2010找不到名称空间 x86版本在F#中运行良好。你知道为什么会这样,以及如何让Kitware x64在F#下工作吗?这可能是因为这里描述的错误: 他们说这将
- C#控制台应用程序
- F#控制台应用程序
Kitware.VTK.dll
和Kitware.mummy.Runtime.dll
(可在此下载:) 当我使用Kitware编写
时,C#VS 2010会找到名称空间
当我编写openkitware
时,F#vs2010找不到名称空间
x86版本在F#中运行良好。你知道为什么会这样,以及如何让Kitware x64在F#下工作吗?这可能是因为这里描述的错误:
他们说这将在VS的下一版本中修复
安好
-控制台应用程序默认以x86为目标,而不是以任何CPU为目标。如果您没有更改,那么F#项目将无法与x64库一起工作。我想我可能有一个解决方案。它需要手动编辑您的fsproj文件
在
项之后和第一个
项之前添加此项
真的
--简单溶液
C:\Windows\Microsoft.NET\Framework64\v3.5;C:\Windows\Microsoft.NET\Framework64\v2.0.50727
注意,OtherFlags
被覆盖,这对我来说是可以的,因为它是空的。如果使用了它,您可能应该将其附加到变量。
最好使用Microsoft.Build.Tasks
作为路径列表,而不是使用硬编码的列表,但我一直无法使其正常工作。看起来该漏洞出现在VS 2010 beta 1中,并且已经修复。等等,我收回这一点。它至少仍然存在于VS 2010服务包的测试版中。是的,不幸的是,我认为这是一个缺陷,存在于产品的所有已发布版本中。我将把它作为正确答案,因为我不知道还有什么其他原因可能导致它。谢谢你的提示!对不起,我忘了提那件事。我已将x64目标添加到控制台应用程序。
<PropertyGroup Condition="'$(Platform)' == 'x64'">
<!--
Assembly resolution using msbuild is broken for the x64 platform in F# 2.0.
See https://connect.microsoft.com/VisualStudio/feedback/details/588317/f-project-references-not-working-when-targeting-x64-platform-in-visual-studio-2010
We use simple resolution with a hard-coded list of paths to look for the dlls instead.
-->
<NoStdLib>true</NoStdLib>
<OtherFlags>--simpleresolution</OtherFlags>
<ReferencePath>C:\Windows\Microsoft.NET\Framework64\v3.5;C:\Windows\Microsoft.NET\Framework64\v2.0.50727</ReferencePath>
</PropertyGroup>