2017-10-09 64 views
1

我在我的Visual Studio中使用ExcelDna-AddIn NuGet包當我試圖通過視覺工作室構建我的類庫項目時它工作正常,而如果我嘗試過的MSBuild(ExcelDna.AddIn.targets)來構建它我得到「‘CleanExcelAddIn’任務沒有給予必要的參數‘OutDirectory’與代碼退出值1」ExcelDna NuGet,通過msbuild的「ExcelDna.AddIn.Targets」文件構建返回錯誤

+0

看起來像'.csproj'中缺少的東西。將'/ v:diag'添加到MSBuild調用參數中,它會給你一些額外的信息,幫助你找出'$(OutDir)'參數是'null'的原因。此外,你可以重現這個錯誤與一個全新的類庫(文件 - >新項目)? –

+0

謝謝你的回覆。我創建了一個新的類庫,仍然有同樣的錯誤。雖然,現在我給'msbuild「project_name.targets」/ p:configuration = release/p:OutDir = bin \'並且獲得了成功的構建。 (包括/ p:OutDir = bin \)。但沒有弄清楚爲什麼$(OutDir)參數顯示爲空。 – Hari

+1

就像Caio回答的那樣,OutDir的屬性在Microsoft.Common.CurrentVersion.targets文件中定義,您可以在C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin(VS2015)中找到該文件。所以如果你想在沒有項目文件的情況下構建你的.targets文件,你應該在你的命令中添加這個屬性,否則你應該把這個目標文件添加到你的.target文件中。 –

回答

1

我創造了一個新的類庫,仍然有同樣的錯誤。雖然, 現在我給了msbuild「project_name.targets」/ p:configuration = release /p:OutDir = bin \'並且獲得了成功的構建。

根據您的評論,您似乎在自定義.targets文件上運行MSBuild,而不是由Visual Studio創建的標準.csproj。 OutDir是由Microsoft.Common.CurrentVersion.targets創建的屬性,我猜你沒有在自定義的MSBuild文件中包含該屬性。

相關問題