3

我正在尝试创建一个 NuGet 包,其中包含托管(程序集)和非托管(本机 DLL)二进制文件,并且还支持多个平台(x86、x64)。

为了更好地理解如何正确处理这个问题,我查看了几个具有相似要求的包,这些包发布在官方nuget feed上。其中之一是Microsoft.SQLServer.Compact

查看Install.ps1Uninstall.ps1 PowerShell 脚本和VS.psm1 PowerShell 模块中的操作非常有帮助。

VS.psm1 模块包含一些函数的定义,这些函数允许从包安装脚本中控制 Visual Studio(特别是通过 $dte 对象)。这些函数基于Visual Studio Object Model,我还不知道,而且(在我看来)没有很好的文档记录。

我想知道您是否知道一个 PowerShell 模块,它可以轻松地从 NuGet PowerShell 脚本处理 Visual Studio 对象模型。或者,任何指向书籍、博客文章、文章……的指针都将非常受欢迎,其中显示了一些关于如何从 PowerShell 正确使用该对象模型的示例。我在网上找到的唯一示例通常说明了非常基本的功能。

此外,如果您了解其他处理托管和非托管库的 NuGet 包,我可以将其用作示例,那就太好了。

我当然可以从我在上面提到的文件中看到的开始并推出我自己的模块,但如果已经有可用的东西,我宁愿专注于我的包本身。

谢谢你的帮助。

4

2 回答 2

1

看看StudioShell。它是一个将 PowerShell 自动化引入 VS.NET 的系统,可以作为安装程序使用,也可以作为 NuGet 包使用,以启用您描述的那种场景。PluralSight 课程“面向开发人员的日常 PowerShell”课程对系统进行了介绍,项目站点上有一些示例。

于 2013-02-16T13:27:35.417 回答
0

这可能与您的帖子没有直接关系。我认为包管理器控制台应该称为 PowerShell 控制台。它使您可以完全访问 DTE。

我有一个使用它的简单示例,纯 PowerShell,没有 t4 或扩展,将多个文件添加到 Visual Studio 以自动添加命令模式类。

http://github.com/jefflomax/vs-package-manager-console-cmdlets

我们当然可以使用更完整的 PowerShell cmdlet 库来处理此环境中的简单 Visual Studio 任务。

于 2013-10-26T14:44:21.787 回答