【问题标题】:Why the dotnet restore command run behind the scenes when I run dotnet run?当我运行 dotnet run 时,为什么 dotnet restore 命令会在后台运行?
【发布时间】:2021-07-02 07:51:25
【问题描述】:

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

【问题讨论】:

  • 如果你将你的代码签入 git,然后其他人克隆它,他们将没有 Nuget 包,所以如果你运行,它会首先恢复它们。
  • @DavidG 谢谢

标签: c# .net asp.net-core .net-core dotnet-cli


【解决方案1】:

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

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

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

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

【讨论】:

  • 感谢您的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2018-11-29
  • 1970-01-01
  • 2019-04-27
  • 2020-04-15
相关资源
最近更新 更多