当我从项目的 xml 中删除项目时,我对在 nuget 卸载脚本中需要做什么感到有点困惑。首先,下面的基本脚本有效——它们正确地删除了我在安装脚本中添加的项目。但是当卸载过程完成时,该项目仍被标记为脏,必须保存。我希望在我完成后都能照顾好这一切。这是我得到的代码:
Import-Module (Join-Path $toolsPath msbuild.psm1)
#
# Get the project
#
$project = Get-Project
$buildProject = Get-MSBuildProject
#
# Next, add the import statements
#
$imports = $buildProject.XML.Imports | ? {([System.IO.FileInfo] $_.Project).Name -eq "LINQTargets.targets" }
if ($imports)
{
foreach ($i in $imports)
{
$buildProject.XML.RemoveChild($i)
}
}
$project.Save() #persists the changes
$buildProject.Save()
卸载我的 nuget 包后,我必须“保存”该项目。我怎样才能避免这种情况?我希望它保持干净状态,以便用户在卸载后无法选择不保存文件(因为这会使项目文件处于非常不一致的状态!)。