F # PowerPack 2.0.0.0 проблема: задача ... "… \ fslex.exe" недействительна - PullRequest
1 голос
/ 27 мая 2010

Сегодня я обновил F # PowerPack с 1.9.9.9 до последней версии 2.0.0.0 и попытался восстановить образец MiniCalc отсюда: http://achrissmith.blogspot.com/2010/04/fslex-and-fsyacc-examples-updated.html

Если я соберу его в 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

Проблема как бы «исправлена», если я скопирую fslex и fsyacc в оба этих каталога, так что после этого я могу собрать из командной строки и из VS 2010. Но это не выглядит как правильный путь решить проблему. Какой правильный путь?

РЕДАКТИРОВАТЬ: та же проблема верна для образца PowerPack из источников: May2010\workyard\tests\LexAndYaccMiniProject. Теперь (после проделанного мною трюка) он тоже неплохо построен.

Ответы [ 2 ]

2 голосов
/ 27 мая 2010

Оказывается, это ошибка.См .: 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 голосов
/ 04 июня 2010

Роман прав; с тех пор выпуск PowerPack May2010 был обновлен, чтобы исправить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...