如何将命令添加到VisualStudio控制台?
实体框架和Nuget都这样做。它们添加了可以从Visual Studio软件包管理器控制台启动的Powershell Commandlet。
如果我可以编写一些以项目为中心的实用程序,这些实用程序可以提交到我的源代码管理中,并可供该控制台的所有开发人员使用,那将非常好。
我该怎么做呢?
请注意,我并不是在寻找第三方解决方案(例如StudioShell),而且我知道我可以编写普通的powershell脚本来完成很多事情。我对如何在Visual Studio包管理器控制台中编写一流的公民功能特别感兴趣,例如Get-Package和Update-Database。
EntityFramework的集成是通过NuGet完成的,因此您无法真正轻松地将其集成到解决方案的项目中。您将必须通过NuGet软件包。虽然,您可能可以使用程序包的本地文件夹使其工作。本质上,EF在其软件包的tools文件夹中包括一个普通的powershell模块以及一个init.ps1加载模块的。其内容:
Markup 全选
param($installPath, $toolsPath, $package, $project)
if (Get-Module | ?{ $_.Name -eq 'EntityFramework' })
{
Remove-Module EntityFramework
}
Import-Module (Join-Path $toolsPath EntityFramework.psd1)
init.ps1在打开解决方案文件时由NuGet / VS运行。从NuGet文档:
Init.ps1首次在解决方案中安装软件包时运行。
*如果将相同的软件包安装到解决方案中的其他项目中,则在这些安装过程中不会运行该脚本。
*每次打开解决方案时脚本也会运行(必须同时打开Package Manager控制台窗口才能运行脚本)。例如,如果您安装一个程序包,关闭Visual Studio,然后启动Visual Studio并使用“程序包管理器控制台”窗口打开解决方案,则Init.ps1脚本将再次运行。
转载:https://www.kejisen.com/article/108862736.html
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post 张国生