内网搭建NuGet服务器,实现像Maven管理jar包一样,管理dll,搭建公司内部的dll管理平台

2021-05-08 11:14:00 浏览数 (1)

内网搭建NuGet服务器,实现像Maven管理jar包一样,管理dll,搭建公司内部的dll管理平台,避免不同版本到处拷贝引起的版本冲突和dll更新混乱的问题

1.新建一个ASP.NET Web应用程序:

选择空项目模板(注意,一定要是空项目,否则会引起一些不必要的问题):

2.在项目引用的右键菜单中,对应的管理NuGet程序包中,安装对应的NuGet.Server的包:

随后项目文件内容如下:

可能会报错:

注释掉web.config中对应的节点就可以:

注释完以后再次启动:

随后,便可以把项目的内容,部署到指定的服务器上。

3.然后,问题的关键点便是发布

目前存在GUI版本的发布,也可以使用命令发布,但是笔者认为,使用GUI版本发布相对更直观一点。

工具直接参考如下内容:

https://github.com/NuGetPackageExplorer/NuGetPackageExplorer

安装后界面如下:

这里的关键点是发布的过程中会遇到的问题:

response status code does not ndicate success 405 (method not allowed)

解决办法:使用的publish url要是对应的Repository URL的下图标红的链接,错一个字母都会报错。

response status code does not indicate success 409 (conflict)

这个问题的解决办法比较简单,它是版本冲突引起的,要么删掉原有版本,clear cache后发布,要么修改当前发布版本的版本号。

然后还有一个最最关键的问题:

笔者在第一次安装的过程中,在安装到一半的时候,反复弹出警告的内容,

严重性 代码 说明 项目 文件 行 禁止显示状态警告 一些 NuGet 包是使用不同于当前目标框架的目标框架安装的,可能需要重新安装。有关详细信息,请访问 https://docs.nuget.org/docs/workflows/reinstalling-packages。受影响的包: EntityFramework, EntityFramework.zh-Hans, Microsoft.Net.Http

可是警告的内容,与我们实际的遇到的问题,并不是一个问题,这时候会让人摸不着头脑。实际上我们应该去查看的是“输出”窗口下的内容(下图是我们安装成功的图):

如果安装失败的情况下, 会有提示:

无法安装程序包“* 1.0.0”。你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.0”的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系程序包作者。

解决办法:直接在package content栏目下,添加lib,然后,针对源文件的对应版本添加对应版本的内容。多了也不对,少了也不对,必须一致,否则就无法正常安装:

比如,源文件是4.0版本,那么我们就需要如下设置:

这种其工况下 使用net45也不对,使用net40和net45两个也不对,必须只能是net40下的一个对应dll,否则就无法正确安装。

可能还会遇到一个问题,使用NPE发布的时候,可能需要输入对应的key,这个在NuGetServer的网站下对应的web.config文件就能够设置。

参考:

https://www.cnblogs.com/Jack-Blog/p/7890369.html

https://www.cnblogs.com/surfsky/p/8072993.html

https://docs.microsoft.com/en-us/nuget/install-nuget-client-tools

https://docs.microsoft.com/en-us/nuget/

https://www.nuget.org/

https://docs.microsoft.com/en-us/nuget/hosting-packages/overview

https://www.cnblogs.com/bbxie/p/12784727.html

https://www.cnblogs.com/zzp0320/p/7884413.html

https://www.cnblogs.com/DNLi/p/11091509.html

https://docs.microsoft.com/zh-cn/nuget/

https://www.cnblogs.com/jasonlai2016/p/11936183.html

https://blog.csdn.net/a1946433096/article/details/104973138

0 人点赞