2010-05-27 52 views
1

我已将F#PowerPack从1.9.9.9升级到最新的2.0.0.0,并尝试从此处重新构建MiniCalc示例: http://achrissmith.blogspot.com/2010/04/fslex-and-fsyacc-examples-updated.htmlF#PowerPack 2.0.0.0问题:任务...“... fslex.exe”无效

如果我在VS 2010中建立它失败与消息: C:\Program Files\MSBuild\FSharp\1.0\FSharp.PowerPack.targets(32,3): error MSB6004: The specified task executable location "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\fslex.exe" is invalid.

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

的问题是怎么样的如果我合作,“固定” py fslexfsyacc这两个目录,所以之后,我可以从命令行和VS 2010中构建。但它看起来不是解决问题的正确方法。什么是正确的方式?

编辑:来自源的PowerPack示例同样的问题是:May2010\workyard\tests\LexAndYaccMiniProject。现在(我已经完成了这个技巧之后)它也很好。

回答

2

原来是一个错误。请参阅: http://fsharppowerpack.codeplex.com/WorkItem/View.aspx?WorkItemId=4548 解决方法在此处进行说明。我写了一个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 
0

罗马是对的;自2010年5月发布PowerPack版本以解决此问题。