我有一个.Net核心库项目,我希望与所有其他项目共享。这些其他项目是在Classic 4.6.2和ASP.NET Core中开发的。我想用Nuget包分享它。由于包需要是私有的,我将在我们的服务器上托管它。我试图发布的.net核心库项目有以下project.json
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
}
}
我按照这些指南[这里] [1]创建了一个包
nuget spec
命令nuget pack MyProject.xproj
创建包
得到错误请指定要使用的nuspec或项目文件。
看起来nuget无法识别xproj所以执行的命令nuget pack MyProject.nuspec
得到警告
警告:使用软件包' MyId'发现了2个问题。
问题:lib文件夹外的程序集。描述:装配 ' BIN \调试\ netstandard1.6 \ MyProject.dll'不在' lib'文件夹和 因此,在安装软件包时,它不会被添加为参考 进入一个项目。解决方案:将其移入' lib'文件夹,如果它应该 被引用。
问题:lib文件夹外的程序集。描述:装配 ' BIN \发布\ netstandard1.6 \ MyProject.dll'不在' lib'夹 因此,在安装软件包时,它不会被添加为参考 进入一个项目。解决方案:将其移入' lib'文件夹,如果它应该 被引用。
我已经看过帖子[这里] [2]和[这里] [3],但它无法解决我的问题
答案 0 :(得分:0)
如果您必须使用自己的Nuget Server,我建议您实际使用nuget实用程序将软件包推送到您的服务器。我通常会编写一个可以使用构建事件进行调度的小批处理文件,或者在我明确要部署横切关注的可移植类库的新包时执行。
批处理文件可以是简单的:
FOR %%I in (<PATH_TO_YOUR_DEBUG_FOLDER>\*.nupkg) DO nuget.exe push "%%I" -Source http://<NUGET_SERVER>/api/v2/package?replace=true
请注意,通过在末尾添加替换查询字符串并更改您的nuget配置以允许替换,您不必经历所有痛苦来回复事物。
或者您可以使用私人Feed: