我按照instruction创建了新的.NET Core项目,并从cmd运行以下代码:
dotnet new
dotnet restore
第二个语句创建包含大量垃圾(不是真正的垃圾,而是大量依赖项、配置等)的project.lock.json
.我假设这些依赖项是被分解成单独的NuGet包的.NET框架.
我的问题:
- 我的假设正确吗?
- 我是否可以通过删除不需要的NuGet包/依赖项来简化应用程序?
- 怎样
我按照instruction创建了新的.NET Core项目,并从cmd运行以下代码:
dotnet new
dotnet restore
第二个语句创建包含大量垃圾(不是真正的垃圾,而是大量依赖项、配置等)的project.lock.json
.我假设这些依赖项是被分解成单独的NuGet包的.NET框架.
我的问题:
Update:project.json
已替换为.csproj
,作为项目的主要文件.NET标准项目.这个问题指的是PackageReference in NuGet 4.0年前的旧制度.
您可能偶尔仍会将project.lock.json
视为构建过程中的一个工件,但应该忽略它.管理您需要的NuGet软件包.NET标准/.NET核心项目所依赖的任何一方
.csproj
文件dotnet add package
等)Old answer留给后代:project.lock.json
是由.NET工具来恢复项目的包.你不应该碰它或者把它判断进源代码管理.直接编辑project.json
.
在包恢复过程中(dotnet restore
),NuGet必须分析项目中的依赖关系,遍历their个依赖关系图,并计算出应该为您的项目和项目的依赖关系安装哪些包.
这不是一项微不足道的工作量,因此结果以project.lock.json
为单位进行缓存,以使后续恢复更快、更高效.如果修改project.json
并再次执行dotnet restore
,将重新生成锁文件.