2017-11-20 7 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 폴더에서 주어진 프레임 워크 대상의 하위 폴더에 dotnet CLI로 실행할 수있는 YOUR_PROJECT_NAME.dll 파일이 있어야합니다.

1

exe를 생성하려면 run-time identifier을 제공해야합니다. fsproj
<PropertyGroup> <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers> </PropertyGroup>
을 포함 할 수 있지만 그렇게 할 필요는 없습니다. VSCode의 tasks.json 파일을 사용하여 빌드 작업을 설정할 수 있습니다. 이것은 bin\release\netcoreapp2.0\win10-x64 폴더에 EXE 파일을 생성합니다

-r win10-64을 출시 -c

DOTNET 빌드 :

나의 제안은 단지 후에 .NET CLI를 실행하는 것입니다. 자체 포함 디렉터리를 배포하려는 경우 dotnet publish 수 있습니다 (큰 얻을 수 있습니다). OSX의 ID는 osx-x64과 같습니다.

기본적으로 ionide는 net461을 대상으로하는 fsproj 파일을 생성하며, 또한 dotnetcore에 대해 가짜 5가 필요할 수도 있습니다. 또한 magic-modepaket을 사용하고 gitub에 .exe를 커밋하는 것이 좋습니다 (git을 사용하는 경우).