NuGet

时间:2017-08-24 12:12:18

标签: asp.net-core nuget nuget-package

我正在研究.NET Core 2.0,因为它目前已经发布。在我成为.NET Framework(使用MVC和实体框架)的忠实粉丝之前。所以现在我正在尝试理解.NET Core,它的工作非常好,但我对通过NuGet安装外部库有疑问:

在.NET-Framework中,使用PacketManager(控制台或GUI)安装了一个库。然后将这些包装下载到Scripts-Folder,然后将它们捆绑在BundleConfig.cs中,并使用适当的Razor-Command将这些文件包含在模板中。

现在在.NET Core中我有点困惑,因为我通过PM安装了包,只添加了一个引用,我搜索了Project中的文件。我找不到它们并将它们全部卸载只是为了通过bower安装它们来获取文件,将它们作为依赖项添加并将它们包含在我的模板中。

长话短说:

通过NuGet安装软件包并引用文件以便在运行Web应用程序时它们将显示在我的模板中的工作流程是什么?例如对于angularjs?

我搜索了互联网和微软的教程,但没有多少帮助(我想因为人们比我更了解该做什么,而且框架很新)。

感谢您的理解和回答。

1 个答案:

答案 0 :(得分:0)

TL; DR没有更多"单一的,受制裁的方式"管理客户端资产和NuGet的内容功能(不是contentFiles)仅支持经典项目。

内容包的概念,特别是对于Web客户端资产,已被弃用于新的PackageReference使用NuGet的方式(这是"经典" /非的选择加入功能-.net-核心应用程序)。

NuGet推出了一种使用软件包部署内容的新方法:contentFiles。这些是逻辑上包含在构建中的文件(甚至可以复制到输出目录中),但不会复制到项目中。在传递引用包时,尤其需要这样做,安装/卸载复制到项目中的内容通常是危险的,甚至是破坏性的操作。

客户端资产的问题在于环境正在快速增长和变化,因此没有"只有"消费Web资产的方式,因此,不是强迫每个人使用固定模型(BundleConfig,NuGet内容与众所周知的路径),有很多不同的方法来设置客户端资产和构建。这可能是bower(现在已被弃用),npm和webpack或使用grunt和gulp的自定义构建。