Estoy tratando de eliminar la carpeta App_Start de mi proyecto durante la instalación de mi paquete NuGet. La documentación para NuGet aquí:Eliminar carpeta y archivos del proyecto usando NuGet/Powershell
http://nuget.codeplex.com/wikipage?title=Creating%20a%20Package
dice:
$ project.Object es el equivalente de http://msdn.microsoft.com/en-us/library/ms170626.aspx.
lo que no soy capaz de encontrar mucha información de esa interfaz que es de mucha ayuda para mí.
Tengo el siguiente script de PowerShell, que elimina con éxito la carpeta y archivos:
param($installPath, $toolsPath, $package, $project)
$DirInfo = New-Object System.IO.DirectoryInfo($installPath)
$appDir = New-Object System.IO.DirectoryInfo($DirInfo.Parent.Parent.FullName)
$fullPath = [IO.Path]::Combine($appDir.FullName, $appDir.Name, "App_start")
Remove-Item $fullPath -recurse
(Sé que el encauzamiento aquí no está garantizado, pero este paquete es sólo para uso interno)
Pero el proyecto todavía tiene una referencia a los elementos y, por lo tanto, los elementos aparecen con la advertencia amarilla porque Visual Studio cree que los elementos son parte del proyecto.
Lo que necesito es una forma de eliminar programáticamente una referencia a esos elementos del proyecto. ¿Algunas ideas?
En PowerShell, cuando se tiene '... | foreach {$ _. Foo | % {...}} 'generalmente puede escribir' ... | foreach {$ _. Foo} | % {...} '- no tienes que anidar el' foreach's. –
Sí, era bastante nuevo en PoSh cuando escribí esto. Funciona, pero probablemente puede hacerse mucho más legible = D –
No sabía que podía navegar por la solución directamente en la consola PM a través de los comandos $ DTE.Solution.xyz. ¡Gracias, esto aceleró mi trabajo! –