Я создаю пакет nuget, и я хочу, чтобы он добавлял скрипт js
при установке в любом проекте. Файл .js
должен иметь установленное действие сборки для встроенного ресурса.Nuget файл с типом сборки, установленным для Embedded Resource
Я попытался добавить Install.ps1
скрипт для упаковки с содержанием ниже:
param($installPath, $toolsPath, $package, $project)
$item = $project.projectItems.Item("my_script.js")
$item.Properties.Item("BuildAction").Value = [int]3
но он возвращает ошибку:
Вы не можете вызвать метод выражения нуль-значной. + $ item.Properties.Item («BuildAction»). Value = [INT] 3
я думаю, что ошибка происходит потому, что Install.ps1
скрипт запускается перед добавлением файлов пакета для решения поэтому нет my_script.js
поэтому мы можем 't изменить его действие на строительство ...
так, как мы это делаем?
Есть ли способ запустить скрипт после развертывания файлов в проекте? более
Update
Единственное, что может быть проблема в том, что my_script.js
не в корне Content
папки. Должен ли я обращаться к его пути, когда я звоню:
$project.projectItems.Item("myfolder/my_script.js")
?
Update 2
Неа! проблема существует даже после обращения к папке, как указано выше.
Сценарий install.ps1 запускается последним. Он не запускается до того, как файлы будут добавлены в проект. Я бы посмотрел ваш сценарий PowerShell в консоли диспетчера пакетов, чтобы узнать, работает ли он. Также добавляется ли ваш файл my_script.js в корень проекта? –
Да! Хотя он выдает это исключение, он добавляет файл ... – AmiNadimi