이 SDK까지 짧은 기간 수정 프로그램을 설치 할 수있다 "배포 FSharp 도구 MSI 2553은 MSDN 번호에" 별도로 NuGet 패키지 폴더에서 Microsoft.FSharp.Targets 파일을 찾을 프로젝트 파일에 지시문을 추가하는 것입니다.
<Choose>
<When Condition="$(TargetFSharpCoreVersion) >= 4.3.0.0 AND $(TargetFSharpCoreVersion) < 4.3.1.0 ">
<PropertyGroup>
<FSharpTargetsPath>$(MSBuildProgramFiles32)\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</When>
<When Condition="$(TargetFSharpCoreVersion) >= 4.3.1.0 AND $(TargetFSharpCoreVersion) < 4.4.0.0 ">
<PropertyGroup>
<FSharpTargetsPath>$(MSBuildProgramFiles32)\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</When>
<When Condition="$(TargetFSharpCoreVersion) >= 4.4.0.0 AND $(TargetFSharpCoreVersion) < 4.4.1.0 ">
<PropertyGroup>
<FSharpTargetsPath>$(MSBuildProgramFiles32)\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<FSharpTargetsPath>$(MSBuildProgramFiles32)\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</Otherwise>
</Choose>
:
<Import Project="..\packages\FSharp.Compiler.Tools.4.1.17\build\FSharp.Compiler.Tools.props" Condition="Exists('..\packages\FSharp.Compiler.Tools.4.1.17\build\FSharp.Compiler.Tools.props')" />
하는 프로젝트 파일의이 부분을 교체 :의이 지침을 가지고로는 VS.NET 2017의 새로운 F # 프로젝트를 사용하여 확인
: 다음 단계는 내가이 문제를 해결하는 데 걸린 있습니다 이 XML로
:
<Choose>
<When Condition="$(TargetFSharpCoreVersion) >= 4.3.0.0 AND $(TargetFSharpCoreVersion) < 4.3.1.0 ">
<PropertyGroup>
<FSharpTargetsPath>$(MSBuildProgramFiles32)\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</When>
<When Condition="$(TargetFSharpCoreVersion) >= 4.3.1.0 AND $(TargetFSharpCoreVersion) < 4.4.0.0 ">
<PropertyGroup>
<FSharpTargetsPath>$(MSBuildProgramFiles32)\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</When>
<When Condition="$(TargetFSharpCoreVersion) >= 4.4.0.0 AND $(TargetFSharpCoreVersion) < 4.4.1.0 ">
<PropertyGroup>
<FSharpTargetsPath>$(MSBuildProgramFiles32)\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<FSharpTargetsPath>$(MSBuildProgramFiles32)\Microsoft SDKs\F#\4.1\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</Otherwise>
</Choose>
<!-- This is needed for TeamCity where F# SDK is only available via NuGet right now - hopefully can be removed at some point once the SDK is available for install -->
<PropertyGroup Condition="!Exists('$(FSharpTargetsPath)')">
<FSharpTargetsPath>$(FscToolPath)\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
당신이 NuGet 패키지 PRI 단계 복원 한 서버를 구축 확인 FSharp.Compiler.Tools 및 FSharp.Core 다음과 같이 작동
그 이유는 다음과 같습니다 : 또는 빌드를 수행에
는 파일이 포함 패키지 확인이는 FSharpTargetsPath가 존재하는지 확인 과를 사용하지 않을 경우 packages 폴더를 소스로 사용하십시오. 패키지 폴더를 항상 사용하고 싶지 않은 경우 사용자 컴퓨터의 새로운 체크 아웃에서 패키지를 사용할 수 없으며 빌드가 실패합니다. 빌드 서버에서이 작업을 수행하려면 빌드를 수행하기 전에 NuGet 패키지를 복원하는 단계가 있다고 가정합니다.
우리를 위해 일하십시오. Fsharp.Compiler.Tools nuget을 추가하는 것으로 충분했습니다. 그것은 import 문을 자동으로 추가하고 필요한 변경 사항은 조건부 가져 오기 (코드 조각의 마지막 부분) –