nuget 服务器 自动化,脚本 – 使用.NetCore RC2自动化Nuget包推送

我目前正在开发一个.NET Core库,我将在另一个项目中用作NuGet包.

我已经能够使用项目目录中的“dotnet pack”命令成功打包项目,并将该程序包上传到MyGet.

我更喜欢使用“nuget push”命令自动执行推送NuGet包的过程.

我的问题是project.json文件中定义的“scripts”属性似乎不在包或构建上执行.我预计这些脚本会在相应的事件发生时执行,但它们似乎没有任何效果,因为我在构建时没有看到任何输出到控制台,无论是否有详细标记.

我知道MyGet能够基于Git存储库更新包源,但我想了解当前使用project.json执行脚本是否存在问题.理想情况下,我想在pack成功执行后使用nuget push命令.

这是我的project.json文件:

{

"version": "0.0.1",

"scripts": {

"postbuild": [ "echo build" ],

"prebuild": "echo build",

"postpack": "echo build",

"postpublish": "echo build",

"postrestore": "echo build",

"prepack": "echo build",

"prepare": "echo build",

"prepublish": "echo build",

"prerestore": "echo build"

},

"dependencies": {

"NETStandard.Library": "1.5.0-rc2-24027"

},

"frameworks": {

"netstandard1.5": {

}

},

"buildOptions": {

"allowUnsafe": false,

"debugType": "portable",

"emitEntryPoint": false,

"xmlDoc": false

},

"commands": { },

"packOptions": {

"files": {

"include": "%project:Directory%/bin/release/*.nupkg"

}

},

"configurations": {

"Debug": {

"buildOptions": {

"define": [ "DEBUG", "TRACE" ]

}

},

"Release": {

"buildOptions": {

"define": [ ]

}

}

}

}

RC2用预编译和后编译替换了prebuild和postbuild.

您可以使用后编译自动生成nupkg并使用将包推送到nuget服务器

"scripts": {

"postcompile": [

"dotnet pack --no-build",

"\"%project:Directory%\\..\\..\\nuget.exe\" push \"%project:Directory%\\bin\\%compile:Configuration%\\%project:Name%.%project:Version%.nupkg\" -source nugetserver -ApiKey key"

]

}

这将使用项目目录中存在的project.json文件自动调用dotnet包.然后它会将nuget包推送到指定的nuget服务器.

遗憾的是,没有变量来指定构建配置,因此在上述路径中,您必须在调试和发布配置之间切换时手动更改它.

以上使用%compile:Configuration%来指定当前的构建配置.

当前构建配置的答案来自

How to run scripts based on solution configuration in ASP.NET Core RC2

Visual Studio 2017

在Visual Studio 2017中,您可以通过编辑csproj文件并使用以下命令来使用dotnet nuget push命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值