问题:
我们的VSTS构建管道存在问题,因为我们在csproj中使用了$(SolutionDir)。我们遇到的问题是,我们无法更新Nuget软件包,因为无论何时,我们都会丢失$(SolutionDir),而不得不进入csproj并将$(SolutionDir)放回正确的位置。
问题:
有没有办法设置构建(或其他任何东西),以便我们不需要手动修改csproj?我们想添加/更新nuget包,并且知道每次签入时都会在构建中对其进行正确处理吗?甚至可以自动添加$(SolutionDir)。
答案 0 :(得分:0)
VSTS-如何在不丢失csproj中$(solutiondir)的情况下更新Nuget软件包
恐怕您不能做这些事情。我们可以手动编辑.csproj
来将$(SolutionDir)
文件保存在.csproj
文件中,但是NuGet不支持此操作,如果您使用的是{{1 }}文件。
添加/更新nuget包时nuget覆盖packages.config
的原因。而且没有这样的设置,我们可以自动使用$(solutiondir)
。
要解决此问题,您可以尝试使用$(solutiondir)
代替PackageReference
。 packages.config
不会对项目文件进行任何更改,并且会从用户范围内的位置发现软件包。
检查文档NuGet is now fully integrated into MSBuild和another thread以获得更多详细信息。
希望这会有所帮助。