当我运行 dotnet run 时,为什么 dotnet restore 命令在后台运行?

问题描述

我刚刚开始学习 dotnet,我开始使用 CLI 与它进行交互,我发现自己对以下内容有些不知所措:
我创建了一个 dotnet 控制台应用程序,并开始编写一些代码并使用了一些 NuGet 包,因此当我完成后,我尝试使用 dotnet run 命令运行我的应用程序,我注意到 dotnet restore 在后台运行。
我的问题是:
-如果我可以访问我在 .csproj 中引用的 Nuget 中的所有接口并在我的应用程序中使用它们为什么他需要运行 dotnet restore ?(因为我假设当我引用包时他会做恢复这就是为什么我'我能够使用类......由代码中的包提供)
- 在 .csproj 文件中引用包是否意味着带来包的所有代码源?
谢谢

解决方法

在 .csproj 文件中引用包是否意味着带来包的所有代码源?

没有。 NuGet 包通常只是程序集。 (它们也可用于客户端资产,例如 jQuery,在这种情况下,它们确实包含源代码,因为这是您在客户端上需要的)。

如果我可以访问我在 .csproj 中引用的 Nuget 中的所有接口并在我的应用程序中使用它们为什么他需要运行 dotnet restore ?

恢复涵盖以下情况:您的 NuGet 缓存不包含正确版本的所有所需包(例如,您刚刚创建了一个存储库以进行一些更改)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...