2

我們使用NugetPowerTools PackageRestore避免將我們的包文件夾放入svn。這可以用Visual Studio和MSBuild構建.NET項目。它還可以使用Visual Studio構建Silverlight項目。問題與PackageRestore,Silverlight和MSBuild

但是,當我們使用MSBuild構建Silverlight項目時,構建失敗。這似乎與Microsoft.Silverlight.Common.targets中的任務有關。查看MSBuild輸出,在錯誤出現之前,它似乎到達步驟GetXapOutputFile。無論是在該步驟中,還是在該步驟之後,都在尋找軟件包,但軟件包恢復在所有這些之後纔會運行。第二次建設會成功。

與運行MSBuild相比,在Visual Studio中按下構建有什麼不同?有沒有我缺少的命令行開關?

如果這不起作用,有沒有辦法改變NuGetPowerTools創建的NuGet.targets,或者我可以放在我的csproj文件中,這些文件會切換這些步驟的運行順序?

我正在MSBuild Solution.sln /target:Clean;Rebuild

編輯

我已經更新的NuGet到V1.6,除去NuGetPowerTools的痕跡,而我現在使用內置的包還原選項。我仍然收到這個錯誤。

再次編輯

解決此問題的討論已經再次出現。我已經用NuGet v2.0測試過了,現在還在發生。

+0

我在CodePlex上發現了這個提交。我認爲它可以解決這個問題。 http://nuget.codeplex.com/SourceControl/changeset/0624b2a0fb2a。希望它會包含在下一個版本中。 – cadrell0

回答

1

這已在NuGet v2.1.31002.9028中更正。詳情請見this commit

對於現有解決方案,您需要從解決方案中刪除./nuget/NuGet.targets。通過Windows Explorer來完成。通過Visual Studio刪除它只會將文件從您的解決方案中刪除,它將使文件保持獨立。

完成此操作後,右鍵單擊解決方案並選擇「啓用軟件包恢復」。這將重新修復NuGet.targets。