2014-02-28 165 views
1

我幾乎有讓我的F#項目在Heroku下編譯。
不幸的是我遇到了問題。Heroku編譯失敗時恢復NuGet包

它試圖恢復的NuGet包我得到的錯誤:

Target Build: 
    Project "/tmp/build_7ab344f5-4cd2-4af5-92cd-814069a4af70/NancyFirstProject/NancyFirstProject.fsproj" (default target(s)): 
     Target RestorePackages: 
      Executing: mono --runtime=v4.0.30319 /tmp/build_7ab344f5-4cd2-4af5-92cd-814069a4af70/.nuget/NuGet.exe install "" -source "" -RequireConsent -solutionDir "/tmp/build_7ab344f5-4cd2-4af5-92cd-814069a4af70/" 

The specified path is not of a legal form (empty). 

我犯下的NuGet.exe並且是.NuGet文件夾下有我的項目一起所有相關的NuGet文件。

注意:該項目是在VS2013下創建的。它可以在Xamarin工作室下正常工作並且運行良好

歡迎任何想法。

+0

什麼版本的mono? – knocte

+0

我使用的是這裏的buildpack: https://github.com/aktowns/mono3-buildpack.git 我不是很瞭解buildpack的語法,但是這裏有一行代碼提取fsc.exe編譯器在編譯器中: 「#!/ bin/sh \ n $ 1/$ MONO3_VM_VENDOR/mono3/bin/mono $ 1/$ MONO3_VM_VENDOR/mono3/lib/mono/4.5/fsc.exe \」\ $ @ \「」 –

+0

Heroku的輸出版本信息是: XBuild Engine版本3.0.7.0 單聲道,版本3.0.7.0 –

回答

0

你有解決方案的.sln文件嗎? NuGet需要找到.sln文件來執行包恢復。而在舊版本的NuGet中,如果無法找到.sln文件,則會引發此類錯誤。

0

我遇到了完全相同的問題。最後,我已將NuGet程序包還原作爲構建步驟禁用,並決定單獨運行還原:

wget http://nuget.org/nuget.exe 
chmod +x nuget.exe 
mono --runtime=v4.0 nuget.exe restore SolutionName.sln