Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# F“PowerPack 2.0.0.0问题:任务…”…\fslex.exe“;无效_F# - Fatal编程技术网

F# F“PowerPack 2.0.0.0问题:任务…”…\fslex.exe“;无效

F# F“PowerPack 2.0.0.0问题:任务…”…\fslex.exe“;无效,f#,F#,我今天已将F#PowerPack从1.9.9.9升级到最新的2.0.0.0,并尝试从此处重建MiniCalc示例: 如果我在VS 2010中构建它,它将失败,并显示以下消息: C:\Program Files\MSBuild\FSharp\1.0\FSharp.PowerPack.targets(32,3):错误MSB6004:指定的任务可执行位置“C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\fslex.exe”无效。 如

我今天已将F#PowerPack从1.9.9.9升级到最新的2.0.0.0,并尝试从此处重建MiniCalc示例:

如果我在VS 2010中构建它,它将失败,并显示以下消息:
C:\Program Files\MSBuild\FSharp\1.0\FSharp.PowerPack.targets(32,3):错误MSB6004:指定的任务可执行位置“C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\fslex.exe”无效。

如果我通过MSBuild从命令行构建它,它会抱怨缺少
C:\Windows\Microsoft.NET\Framework\v4.0.30319\fslex.exe

如果我将
fslex
fsyacc
复制到这两个目录,那么问题就有点“修复”了,这样之后我就可以从命令行和VS2010进行构建。但这似乎不是解决问题的正确方法。正确的方法是什么


编辑:来自以下来源的PowerPack示例也存在同样的问题:
2010年5月\workyard\tests\LexAndYaccMiniProject
。现在(在我完成了这个技巧之后),它也构建得很好。

结果是一个bug。见: 这里解释了解决方法。我已经编写了一个PowerShell脚本,用于执行以下修补程序:

# Run this after installation of F# PowerPack 2.0.0.0
$path = 'HKLM:\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\FSharp.PowerPack-1.9.9.9'
$null = New-Item $path -Force
$bin = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\FSharp.PowerPack-2.0.0.0').'(default)'
Set-ItemProperty $path '(default)' $bin

罗曼是对的;Powerpack2010年5月发布的版本已经更新以修复此问题