2013-04-20 27 views
9

MonoDevelopの下でNuGetパッケージを復元してVisual Studioプロジェクトをコンパイルしようとしていますが、それはそのままでは動作しません。NuGetパッケージをOSX/LinuxのMonoDevelopに復元する

NuGetはMonoで動作し、nuget.targetsに組み込まれたサポートさえあるので、何が欠けていますか?問題に基づいて

答えて

12

はここに追跡:https://nuget.codeplex.com/workitem/3278

  1. あなたは、ビルドにパッケージを復元する必要があり、すべてのプロジェクトでxbuild使用する必要があります。 MonoDevelop-> Preferences-> Build Enable xbuild in MonoDevelop or Xamarin Studio
  2. UNIXファイルシステムでは大文字と小文字が区別されます。これはnuget.targetsを破壊します。なぜなら、ファイル内の大文字小文字はすべて小文字であるとみなされますが、.nugetフォルダ内の解に追加されるファイルは "NuGet"のように扱われます。 nuget.targetsを修正するか、ソリューションの.nugetフォルダ内のファイル名をすべて小文字に変更します。
  3. RequireRestoreConsentは、デフォルトでnuget.targetsではtrueです。 nuget.targetsを編集し、それをfalseに変更します。
  4. パッケージの復元では、という奇妙なの場所、$(SolutionDir)/ /packagesにパッケージフォルダが置かれます(間違いなく1つの空白のフォルダがその間にあります)。その理由は、<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(RequireConsentSwitch) -solutionDir "$(SolutionDir) "</RestoreCommand>
+1

で後$(SolutionDir)でnuget.targetsの末尾に空白があるということです作品御馳走:)それは、すべてのビルドパッケージのインストールを停止する方法はありますか?パッケージのリストアは主にビルド​​を遅くします... – Chris

+0

@Chris:私は同じ問題に気付きましたが、まだ解決していませんでした - この回答への貢献は大歓迎です! –

+0

nuget.targetsはOSX上でどこに住んでいますか? –

関連する問題