我想用msbuild構建一個csproj項目,但有抱怨沒有找到nuget.targets的各種奇怪的問題。找到nuget.targets文件的MSBuild錯誤
我運行簡單的命令行的構建與MSBuild的:
Msbuild Project.csproj
在我的正常的開發文件夾的作品,但在另一個文件夾的位置時,出現這些錯誤:
error MSB4019: The imported project "C:\BuildAgent\work\CableSense\.nuget\nuget.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
該路徑(C:\BuildAgent\work\CableSense\.nuget\nuget.targets
)實際上是錯誤的,並且在工作之後缺少一個文件夾(work \ somefolder \ cablesense),但我爲此感到茫然。更奇怪的是,如果我構建了另一個屬於解決方案一部分的項目,那麼就可以工作,這只是這個項目。
的的csproj指定nuget.targets文件的位置是這樣的:
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
而且SolutionDir定義,像這樣:
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
這是一樣的,做其他項目工作。有任何想法嗎?
好吧,馬特,你說這是造成這個問題的原因,但你沒有說你是如何修復它的。我有同樣的問題,並看着你的答案,我仍然不知道如何解決這個問題。 – Stack0verflow
基本上,檢查那些相關的項目,看看如果SolutionDir不存在的路徑是正確的(在這篇文章中它的../../CableSense是錯誤的) –
哦,不,我有同樣的問題。有沒有辦法自動修復解決方案目錄?如果沒有,我有很多csproj文件可供編輯:-( –