【发布时间】:2014-10-22 17:13:45
【问题描述】:
我有一个项目,其中安装了一个名为 MSBuildTasks 的 NuGet 包。它将两个文件:MSBuild.Community.Tasks.targets 和 MSBuild.Community.Tasks.dll 安装到解决方案目录中的 .build 目录。此包引用已添加到该项目目录中的 packages.config 文件中,因此当我构建项目(并启用 NuGet 包还原设置)时,它将恢复包,这很棒,因为我可以将源分发给其他开发人员并在我们的构建服务器上构建它,而不会丢失任何文件...
但是,问题是当 NuGet 恢复包时,它不会将这两个文件恢复到我第一次使用 Install-Package MSBuildTasks 命令安装它时的预期位置,该命令位于 @987654323 @ 目录。相反,它已将其安装到 $(SolutionDir)\packages\MSBuildTasks.1.4.0.78\tools 目录,所以现在如果我希望包含 MSBuild.Community.Tasks.targets 文件,我必须在我的 .csproj 或其他 .targets 文件中绝对引用此路径。这带来了一个问题,因为版本号无疑会发生变化,需要手动进行更正。
有什么方法可以将 MSBuildTasks .targets 和 .dll 文件恢复到最初安装到的 $(SolutionDir)\.build 的原始位置?当前恢复到包目录的行为虽然对其他包有意义,但对于这个特定包来说似乎是一个错误,因为我将无法知道要包含在我的其他 .targets 或 .targets 中的目录的版本号。 csproj 文件。
【问题讨论】:
标签: visual-studio-2012 msbuild nuget msbuildcommunitytasks