我们正在Visual 2012解决方案中使用一些定制的脚手架,以及一些内置的脚手架(例如,命令)。然后,我们在Package控制台中运行,使用PowerShell,我们可以将它们组合成有用的函数,在其中执行多个任务。
例如,我们有几个带有Migrations的项目,我们希望为每个项目执行,每个项目只编写一个命令。就像这样:
"Project1", "Project2", "Project3", "Project4" | ForEach-Object {Update-Database -StartUpProjectName $_ -ProjectName $_}它工作得很好,但是我们希望有一个命令,比如
Update-All这样就可以完成同样的操作,而无需键入前面的内容。我们希望将它作为解决方案的一部分提供给所有开发人员,然后从源代码管理中获得。
有什么办法做这种事吗?
编辑: Keith关于使用powershell配置文件的建议效果很好。我还想从Nuget中使用。我希望有一个非常流畅的工作流程来管理项目中的可重用cmdlet。对于如何执行解决方案的导入模块,有什么想法吗?它可以编写一个自定义(私有) Nuget包而不托管它,并让它执行导入模块的init.ps?
发布于 2012-12-23 02:17:32
每个PowerShell都有自己的配置文件。通过在PM控制台中运行以下命令,可以看到NuGet所期望的配置文件的路径:
PM> $profile
C:\Users\Keith\Documents\WindowsPowerShell\NuGet_profile.ps1编辑那个文件,添加你的函数。
function Update-All {
"Project1", "Project2", "Project3", "Project4" |
ForEach-Object {Update-Database -StartUpProjectName $_ -ProjectName $_}
}下次启动Visual时,该函数将在PM控制台中可用。您可以根据需要将函数参数化。您可以将此配置文件放在源代码管理中,但每个开发人员都需要将其复制到文档\WindowsPowerShell dir中。
https://stackoverflow.com/questions/14002229
复制相似问题