2011-08-29 3 views
13

Podczas pracy z NuGet, próbuję użyć skryptu powershell, aby zmienić plik na osadzony zasób. Używam małego skryptu powłoki zalecanego na forum here. Jednak mój skrypt działa tylko wtedy, gdy plik nie znajduje się w folderze.Korzystanie z ProjectItems.item

param($installPath, $toolsPath, $package, $project) 

$item = $project.ProjectItems.Item("Folder\ReleaseNotes.txt") 
$item.Properties.Item("BuildAction").Value = [int]3 

Jak mogę dostosować tę linię, aby znaleźć plik, nawet jeśli znajduje się on w folderze:

$item = $project.ProjectItems.Item("ReleaseNotes.txt") 

Odpowiedz

26

Cóż, znalazłem go.

ProjectItems to obszerna lista zawierająca zarówno pliki, jak i foldery. Aby uzyskać dostęp do folderu/ReleaseNotes.txt, musisz przejść do drzewa nav. To jest rozwiązanie

param($installPath, $toolsPath, $package, $project) 
$item = $project.ProjectItems.Item("Folder").ProjectItems.Item("ReleaseNotes.txt") 
$item.Properties.Item("BuildAction").Value = [int]3