3

最新の VS 2010 を使用して、2 つの新しいソリューションを作成しました。

  • C# コンソール アプリケーション
  • F# コンソール アプリケーション

2 つの x64 dll ファイルを参照しました:Kitware.VTK.dllおよびKitware.mummy.Runtime.dll
(ここからダウンロードできます: http://www.kitware.com/products/avdownload.php )

C# VS 2010 は、私が書いたときに名前空間を見つけますusing Kitware
F# VS 2010 は、私が書いたときに名前空間を見つけられませんopen Kitware

x86 バージョンは F# で正常に動作します。その理由と、Kitware x64 を F# で動作させる方法について何か考えはありますか?

4

3 に答える 3

1

おそらく、ここで説明されているバグが原因です。

Visual Studio 2010 で x64 プラットフォームをターゲットにすると、F# プロジェクト参照が機能しない

彼らは、VSの次のリリースで修正されると言います。

元気で -h-

于 2011-07-12T11:39:45.187 に答える
0

F#コンソールアプリケーションは、デフォルトで任意のCPUではなくx86をターゲットにしています。これを変更していない場合、F#プロジェクトはx64ライブラリでは機能しません。

于 2011-07-12T15:31:28.223 に答える
0

私はそれに対する修正があるかもしれないと思います。fsproj ファイルを手動で編集する必要があります。

<PropertyGroup>これを項目の後、最初の の前に追加し<Import>ます。

  <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>

OtherFlags上書きされていることに注意してください。空だったので問題ありませんでした。使用されている場合は、代わりに変数に追加する必要があります。Microsoft.Build.Tasksハードコーディングされたリストを使用する代わりに、パスのリストに使用すると便利ですが、それを機能させることができませんでした。

于 2012-12-03T14:13:23.020 に答える