在Visual Studio代码中构建项目时,如何指定目标体系结构?

时间:2018-06-21 08:26:52

标签: f# visual-studio-code f#-fake ionide ml.net

我是VS代码/ F#的新手(如果这很愚蠢,我很抱歉),并且我试图构建一个F#控制台应用程序(在Windows工作站和Linux计算机上)。

我与FAKE一起安装了Ionide扩展程序。

我正在考虑的代码是Iris示例(请参见How to translate the intro ML.Net demo to F#?),它使用Ionide并使用Microsoft.ML创建了一个新的F#项目。

我的iris.fsproj

<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net461</TargetFramework>
    <DebugType>portable</DebugType>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="iris.fs" />
    <None Include="App.config" />
  </ItemGroup>
  <Import Project="..\.paket\Paket.Restore.targets" />
</Project>

运行脚本时(我使用“播放”按钮,也称为F#:运行VS Code / Ionide提供的脚本),我得到:

C:\Users\MyUser\.nuget\packages\microsoft.ml\0.2.0\build\Microsoft.ML.targets(16,5): error : Microsoft.ML currently supports 'x64' processor architectures. Please ensure your application is targeting 'x64'.

一起

Running build failed. Error: System.Exception: dotnet build failed

如何使用Ionide提供的项目结构来定位x64?

1 个答案:

答案 0 :(得分:9)

应该像在PropertyGroup部分中添加以下行一样简单:

<PlatformTarget>x64</PlatformTarget>

使用Condition属性可以根据编译器的各种命令行参数设置平台目标,这可能是更复杂的设置,但这应该是使您启动并运行的最简单方法。