我正在构建nuget包,我希望它在任何项目上安装时添加js
脚本。 .js
文件必须将其构建操作设置为嵌入式资源。构建类型设置为嵌入式资源的Nuget文件
我曾尝试加入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的”)。值= [INT] 3
我认为错误是因为Install.ps1
脚本添加软件包文件的解决方案之前运行,因此没有my_script.js
所以我们可以不会改变它的构建行动...
那么,我们该怎么做呢?
有没有什么办法可以在项目中部署文件后运行脚本?这可能是问题
更新
一件事是,my_script.js
不Content
文件夹的根。我打电话时是否需要解决它的路径:
$project.projectItems.Item("myfolder/my_script.js")
?
更新2
都能跟得上!即使在解决上述文件夹后仍存在问题。
install.ps1脚本最后运行。在文件添加到项目之前它不运行。我会在包管理器控制台中检查PowerShell脚本以查看它是否有效。你的my_script.js文件也被添加到项目的根目录吗? –
是的!尽管它会抛出异常,但它会添加文件... – AmiNadimi