首页 > 解决方案 > 当我运行 dotnet run 时,为什么 dotnet restore 命令会在后台运行?

问题描述

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

标签: c#.netasp.net-core.net-coredotnet-cli

解决方案


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

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

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

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


推荐阅读