我正在研究允许许多网站项目从同一个CSS / JS / HTML集合中提取的方法,并将该集合更新一次,然后交付给使用它的所有项目。
目前,我正在探索使用NuGet包(我的公司使用TFS和VS,因此它似乎是逻辑包管理器)来提供样式,并使用内容文件夹将文件直接传递到项目中。但是,每个项目都需要在不同位置使用这些文件才能正常工作。
有没有办法为每个项目的NuGet包的安装后更新添加自定义脚本?
答案 0 :(得分:1)
对于你们这些人:
在您的包中:tools / install.ps1
param($installPath, $toolsPath, $package, $project)
$projectFullName = $project.FullName
$debugString = "install.ps1 executing for " + $projectFullName
Write-Host $debugString
$fileInfo = new-object -typename System.IO.FileInfo -ArgumentList $projectFullName
$projectDirectory = $fileInfo.DirectoryName
$customInstallFile = $projectDirectory + "\" + $package.Id + ".ps1"
Write-Host "looking for" $customInstallFile
if(Test-Path $customInstallFile){
Write-Host "found it"
& $customInstallFile
} else {
Write-Host "not found"
}
Write-Host "Installation Complete"
在项目的根文件夹中:[packageId] .ps1
Write-Host "Hello world!"