9

MonoDevelop で NuGet パッケージの復元を使用して Visual Studio プロジェクトをコンパイルしようとしていますが、そのままでは機能しません。

NuGet は Mono で動作するはずであり、nuget.targets にはサポートが組み込まれているため、何が欠けているのでしょうか?

4

1 に答える 1

12

ここで追跡された問題に基づく: https://nuget.codeplex.com/workitem/3278

  1. ビルド時にパッケージを復元する必要があるすべてのプロジェクトで xbuild を使用する必要があります。MonoDevelop->設定->ビルドMonoDevelop または Xamarin Studio で xbuild を有効にする
  2. Unix ファイルシステムでは大文字と小文字が区別されます。.nu​​get フォルダー内のソリューションに追加されたファイルは "NuGet" のように大文字と小文字が区別されるのに対し、ファイル内の大文字と小文字はすべて小文字であると見なされるため、これにより nuget.targets が壊れます。nuget.targets を修正するか、ソリューションの .nuget フォルダー内のファイル名をすべて小文字に変更します。
  3. RequireRestoreConsent は、nuget.targets で既定で true です。nuget.targets を編集して false に変更します。
  4. パッケージの復元では、パッケージ フォルダーが奇妙な場所に配置されます$(SolutionDir)/ /packages(はい、間に 1 つの空白フォルダーがあります)。その理由は、nuget.targets の後$(SolutionDir)に 空白があるためです。<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(RequireConsentSwitch) -solutionDir "$(SolutionDir) "</RestoreCommand>
于 2013-04-20T08:13:47.240 に答える