首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于安装nuget包的PowerShell脚本

用于安装nuget包的PowerShell脚本
EN

Stack Overflow用户
提问于 2011-06-07 17:19:58
回答 3查看 6.7K关注 0票数 3

每当我开始一个项目,我都想安装NuGet包Elmah,Glimpse,MvcScaffolding,Squishit和... --这些都是我知道的。也许我也应该安装其他的?

无论如何,与其记住所有这些,不如把所有这些都放在一个脚本中,我所要做的就是运行它。然而,这是我第一次接触PowerShell,我不知道该怎么做。

我看过一个示例项目,脚本看起来很简单,但我不明白为什么需要安装带有.test后缀的包?为什么还要加上-Project参数?

例如,

代码语言:javascript
复制
Install-Package SqlServerCompact -Project MileageStats.Data.SqlCe
Install-Package SqlServerCompact -Project MileageStats.Data.SqlCe.tests

我已经在谷歌上搜索了更多,但我想我找错了地方。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-18 02:43:26

使用所需的NuGet包创建一个项目模板,就像Fabrice已经建议的那样,可能是我会采用的方法。要获得最新版本的NuGet包,可以使用NuGet Package Updater包。这将绕过目前仅支持安装特定版本的NuGet包的项目模板。

或者,您可以在NuGet profile中存储有用的PowerShell脚本。在%UserProfile%\Documents\WindowsPowerShell目录中创建一个名为NuGet_profile.ps1的文件(例如C:\UsersYourUserName\Documents\WindowsPowerShell\NuGet_profile.ps1).

在NuGet_profile.ps1中,您可以添加PowerShell函数,您可以从Visual Studio中的Package Manager控制台窗口调用这些函数。您需要重新启动Visual Studio,然后才能调用函数。下面显示了一个示例NuGet_profile.ps1文件。

代码语言:javascript
复制
function Install-StandardPackages {
    param(
        [Parameter(position=0, mandatory=$true)]
        [string]$projectName
    )

    Install-Package elmah -ProjectName $projectName
    Install-Package SqlServerCompact -ProjectName $projectName
}

function Install-StandardPackagesForAllProjects {
    foreach ($project in Get-Project -all) {
        Install-StandardPackages $project.Name
    }
}

现在,定义了这些函数后,您可以在Package Manager控制台中运行以下命令,将elmah和SqlServerCompact安装到名为MyProject的项目中。

代码语言:javascript
复制
Install-StandardPackages MyProject

或者,您可以通过在Package Manager控制台中运行以下命令,将elmah和SqlServerCompact安装到当前打开的解决方案中的所有项目中。

代码语言:javascript
复制
Install-StandardPackagesForAllProjects

Install-Package命令中的-ProjectName参数用于指定软件包将安装到的项目的名称。tests后缀看起来像是包含单元测试的项目名称的一部分。

票数 6
EN

Stack Overflow用户

发布于 2011-06-07 18:50:11

您的一个解决方案可能是创建一个meta nuget包,并将其托管在本地存储库中。您可以创建一个nuget包,它依赖于您想要用于特定项目设置的所有不同包。你所要做的就是安装meta包,然后它会安装所有的依赖项。

票数 0
EN

Stack Overflow用户

发布于 2011-06-08 05:29:59

您可能希望创建自己的mvc3项目模板,您可以在其中指定您首选的Nuget包。为此,您应该看看Phil Haack blog post

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6263126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档