Я немного озадачен тем, что мне нужно делать в скрипте удаления nuget, когда я удаляю элементы из xml проекта. Во-первых, базовые сценарии ниже работают - они корректно удаляют элементы, которые я добавил в сценарий установки. Но когда процесс удаления заканчивается, проект все еще помечен как грязный и должен быть сохранен. Я хотел бы, чтобы обо всем позаботились, когда я закончу. Вот код, который я получил:
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 мне необходимо «сохранить» проект. Как я могу избежать этого? Я бы хотел, чтобы он оставался в чистом состоянии, чтобы у пользователя не было возможности не сохранять файл после удаления (так как это оставило бы файл проекта в очень противоречивом состоянии!).