2017-11-20 5 views
3

macOS High Sierraで.NET Core + Ionide + VS Code + Fake + Paketを使用しようとしています。Ionide + Fakeは出力をどこに実行可能にしますか?

プロジェクトジェネレーターを使用して、TestというSuaveアプリケーションを作成しました。 Ionideが適切なファイルを生成したようです。 .NETのコアにTargetFrameworkを微調整した後、私は正常にビルドすることができます

$ ./build.sh 
... 
Build succeeded. 
    0 Warning(s) 
    0 Error(s) 

Time Elapsed 00:00:03.72 
Finished Target: Build 

--------------------------------------------------------------------- 
Build Time Report 
--------------------------------------------------------------------- 
Target    Duration 
------    -------- 
Clean    00:00:00.0026904 
InstallDotNetCLI 00:00:01.2292511 
Restore   00:00:04.2731055 
Build    00:00:07.1234434 
Total:    00:00:12.7035334 
--------------------------------------------------------------------- 
Status:   Ok 
--------------------------------------------------------------------- 

あり、いくつかのファイルがTest/binになりましたが、それらのどれも私がfsharpcからの出力として期待するものである.exe、ありません。

Ionide + Fakeは出力をどこに実行可能にしますか?

<?xml version="1.0" encoding="utf-8"?> 
<Project Sdk="Microsoft.NET.Sdk"> 
<PropertyGroup> 
    <OutputType>Exe</OutputType> 
    <TargetFramework>netcoreapp2.0</TargetFramework> 
</PropertyGroup> 
<ItemGroup> 
    <Compile Include="Test.fs" /> 
</ItemGroup> 
<Import Project="..\.paket\Paket.Restore.targets" /> 
</Project> 
+2

FAKEスクリプトを表示する必要があります。 –

+0

これはIonideによって作成されたデフォルトのものです – sdgfsdh

+2

それは本当に私をあまり助けてくれません。あなたはそれを示す必要があります。 –

答えて

3

ネットコアはdotnet PATH_TO_DLLで実行することができます.dllない.exeにすべてのプロジェクト(でも実行可能なアプリケーション)をコンパイルします。


私のプロジェクトはOutputType実行可能ファイルを持っています。 binフォルダー内の指定されたフレームワークターゲットのサブフォルダには、YOUR_PROJECT_NAME.dllというファイルがあり、これはdotnet CLIで実行できます。

1

exeを生成するには、run-time identifierを指定する必要があります。 fsprojには
<PropertyGroup> <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers> </PropertyGroup>
を含めることができますが、その必要はありません。 VSCodeのtasks.jsonファイルを使用してビルドタスクを設定することができます。これはbin\release\netcoreapp2.0\win10-x64フォルダ内のexeファイルを作成します

-r win10-x64のにリリース-c

DOTNETのビルド:

私の提案はちょうどDOTNETのCLIを実行することです。自己完結型のディレクトリを展開したい場合は、dotnet publishにすることもできます(これは大きくなる可能性があります)。 OSXのIDはosx-x64のようになります。

デフォルトでは、ionideはnet461をターゲットとするfsprojファイルを生成します。また、dotnetcoreにはFake 5が必要な場合もあります。また、magic-modepaketを使用し、gitubに.exeをコミットすることをお勧めします(gitを使用している場合)。

関連する問題