我目前正在开发一个 .NET Core 库,我将在另一个项目中将其用作 NuGet 包。
我已经能够在项目目录中使用“dotnet pack”命令成功打包项目,并将该包上传到 MyGet。
我更愿意使用“nuget Push”命令来自动化推送 NuGet 包的过程。
我的问题是,project.json 文件中定义的“scripts”属性似乎没有在 pack 或 build 上执行。我预计这些脚本将在相应事件发生时执行,但它们似乎没有任何效果,因为在构建时我没有看到任何输出到控制台,无论有或没有详细标签。
据我所知,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": [ ]
}
}
}
}