gpt4 book ai didi

visual-studio - 如何向 VisualStudio 控制台添加命令?

转载 作者:行者123 更新时间:2023-12-04 03:45:59 24 4
gpt4 key购买 nike

Entity Framework 和 Nuget 都这样做。他们添加了可以从 Visual Studio 包管理器控制台启动的 powershell commandlet。

Comands in the Visual Studio Console

如果我可以编写一些以项目为中心的实用程序,这些实用程序可以提交给我的源代码控制并可供该控制台的所有开发人员使用,那将是非常棒的。

我该怎么做呢?

请注意,我不是在寻找第 3 方解决方案(例如 StudioShell),而且我知道我可以编写普通的 powershell 脚本来做很多事情。我特别感兴趣的是如何在 Visual Studio 包管理器控制台中编写一等公民的函数,例如 Get-Package。和 Update-Database .

最佳答案

EntityFramework 的集成是通过 NuGet 完成的,因此您无法在解决方案的项目中轻松拥有它。您必须通过 NuGet 包。虽然,您可能可以使用包的本地文件夹使其工作。本质上,EF 在其包的工具文件夹中包含一个普通的 powershell 模块以及一个 init.ps1。加载模块。其内容:

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 docs :

Init.ps1 runs the first time a package is installed in a solution.
* If the same package is installed into additional projects in the solution, the script is not run during those installations.
* The script also runs every time the solution is opened (Package Manager Console window has to be open at the same for the script to run). For example, if you install a package, close Visual Studio, and then start Visual Studio and open the solution with Package Manager Console window, the Init.ps1 script runs again.

关于visual-studio - 如何向 VisualStudio 控制台添加命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27807102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com