我按照说明创建新的 .NET Core 项目并从 cmd 运行它:
dotnet new
dotnet restore
第二个语句创建project.lock.json
包含大量垃圾(不是真正的垃圾,而是大量的依赖项、配置等)。我假设这些依赖项是 .NET 框架,它被分解为单独的 NuGet 包。
我的问题:
- 我的假设正确吗?
- 我可以通过删除不需要的 NuGet 包/依赖项来使我的应用程序更轻量级吗?
- 如何?
我按照说明创建新的 .NET Core 项目并从 cmd 运行它:
dotnet new
dotnet restore
第二个语句创建project.lock.json
包含大量垃圾(不是真正的垃圾,而是大量的依赖项、配置等)。我假设这些依赖项是 .NET 框架,它被分解为单独的 NuGet 包。
我的问题:
更新:project.json
已被替换.csproj
为 .NET Standard 项目的主项目文件。这个问题是指在 NuGet 4.0 中引入 PackageReference之前的旧系统。
您可能仍会偶尔将project.lock.json
其视为构建过程的产物,但应该忽略它。管理 .NET Standard/.NET Core 项目所依赖的 NuGet 包应始终由以下任一方来完成
.csproj
文件dotnet add package
等)后代的旧答案project.lock.json
:在您恢复项目的包时由 .NET 工具生成。您不应该触摸它或将其签入源代码管理。直接编辑project.json
。
在包还原dotnet restore
过程(
这是一项非常重要的工作,因此会将结果缓存起来,project.lock.json
以使后续恢复更快、更高效。project.json
锁文件被修改后会重新生成并dotnet restore
再次执行。
每隔一段时间,在我们的团队中,当有人更新一些 nuget 时,我们会遇到同样的问题,lock.json 文件没有得到更新,甚至运行dotnet restore 所以,在应用最后一个选择(删除它们)之前,我建议运行grunt从你的命令行。如果这不起作用,请删除所有 lock.json 文件并运行dotnet restore,这是我最喜欢的选择;)