2014-02-28 133 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