ASP.Net Core项目中NuGet 包的路径

2021-06-19  乐帮网

nuget netcore

NuGet 是 .NET 平台下的一个免费、开源的包管理开发工具。以windows 10为例,当我们不做任何配置时,其默认会从源中下载包到C盘下保存,例如我使得的用户名是Administrator,那么它会默认下载全局包到目录:C:\Users\Administrator\.nuget\packages\下。这个是由NuGet自己准定的和开发环境是framwork还是ASp.Net Core环境没有关系,同样这个全局变量我们是可以通过 C:\Users\Administrator\AppData\Roaming\NuGet下的NuGet.Config 来指定的。那么framwork项目和ASp.Net Core项目有什么区别呢?

我们的framwork项目默认情况下会从全局包的目录中复制一份到解决方案的根目录下然后再引入到项目中,使用的文件夹名是packages。但是到了ASP.Net Core中我们在解决方案的根目录下找不到packages这个目录了。取而代之的是直接引用了全局包的目录。这就是它们之间的不同,一个是从全局中复制一份到解决方案根目录一个是直接引用全局中的包资源。

那么我们有办法在ASP.Net Core中恢复到旧的方式吗?ASP.Net Core项目中指定包到解决方案的根目录。

方法如下:只需要在项目中指定包的目录就可以了,这里我们使用相通路径。编辑项目文件添加RestorePackagesPath项。原来这个名词叫包还原呀。

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RestorePackagesPath>..\packages</RestorePackagesPath>
  </PropertyGroup>
</Project>

 

lebang2020.cn出品

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力