我们在 Visual Studio 2012 解决方案中使用了一些自定义脚手架以及一些内置脚手架(例如 Code First Migrations 命令)。然后我们在包管理器控制台中运行,使用 PowerShell 我们可以将它们组合成有用的功能,这些功能可以同时执行多项任务。
例如,我们有几个带有迁移的项目,我们希望为每个项目执行 Update-Database cmdlet,只编写一个命令。像这样的东西:
"Project1", "Project2", "Project3", "Project4" | ForEach-Object {Update-Database -StartUpProjectName $_ -ProjectName $_}
它工作得很好,但我们想要一个类似的命令
Update-All
这将做同样的事情,而无需键入前一件事。我们希望将它作为解决方案的一部分提供给所有开发人员,然后从源代码控制中获取。
任何想法如何做这种事情?
编辑: Keith Hill 关于使用 powershell 配置文件的建议效果很好。我也在考虑使用 Nuget 中的 Import-Module cmdlet。我实际上希望在管理项目中的可重用 cmdlet 时拥有非常流畅的工作流程。任何想法如何为解决方案执行导入模块?是否可以在不托管它的情况下编写自定义(私有)Nuget 包并让它执行将 Import-Module 的 init.ps?