2012-01-30 45 views
3

我有一個簡單的類庫項目(與Class1),並已啓用NuGet包恢復的解決方案。使用NuGet PackageRestore和msbuild

restorepackages任務導入.csproj文件。

我可以編譯

C:>msbuild myproj.csproj /t:compile 

的項目,我可以用

C:>msbuild myproj.csproj /t:restorepackages 

但是成功調用restorepackages任務添加軟件包之前,添加任何軟件包將導致restorepackages任務失敗與錯誤3.

看起來,NuGet任務被稱爲一個錯誤的工作目錄,你可能實際上通過刪除t他在NuGet.targets文件中工作了attribut,並將其添加到解決方案中。

編輯這樣的任務:

<Exec Command="$(RestoreCommand)" 
      LogStandardErrorAsError="true" 
      Condition="Exists('$(PackagesConfig)')" 
      WorkingDirectory="$(NuGetToolsPath)" /> 

和刪除工作目錄:

<Exec Command="$(RestoreCommand)" 
      LogStandardErrorAsError="true" 
      Condition="Exists('$(PackagesConfig)')" 
      /> 

它似乎無論從命令行的MSBuild並在VS2010預期工作。

有誰知道這個改變是否會破壞任何工具?

回答