2017-10-09 34 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文件中包含该属性。