После того, как скрипт удаления пакета nuget изменяет проект, проект необходимо сохранить вручную - PullRequest
1 голос
/ 09 октября 2011

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

...