Skip to content

Commit 087cc71

Browse files
committed
Use NuGet lock files
Enable RestorePackagesWithLockFile via Directory.Build.props so restore pins the full transitive package graph in a packages.lock.json per project. This makes restores reproducible and lets CI restore in locked mode to catch any lock file that is missing or out of date.
1 parent cf9fde2 commit 087cc71

5 files changed

Lines changed: 662 additions & 0 deletions

File tree

Directory.Build.props

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<Project>
2+
3+
<!-- Restore writes a packages.lock.json next to every project so the full transitive package graph
4+
is pinned. CI restores in locked mode, which fails if a lock file is missing or out of date,
5+
making builds reproducible. After changing a PackageReference, run a plain `dotnet restore` and
6+
commit the updated lock files. -->
7+
<PropertyGroup>
8+
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
9+
</PropertyGroup>
10+
11+
</Project>
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"version": 1,
3+
"dependencies": {
4+
".NETFramework,Version=v4.8": {
5+
"System.Data.SQLite": {
6+
"type": "Direct",
7+
"requested": "[1.0.119, )",
8+
"resolved": "1.0.119",
9+
"contentHash": "JSOJpnBf9goMnxGTJFGCmm6AffxgtpuXNXV5YvWO8UNC2zwd12qkUe5lAbnY+2ohIkIukgIjbvR1RA/sWILv3w==",
10+
"dependencies": {
11+
"System.Data.SQLite.Core": "[1.0.119]",
12+
"System.Data.SQLite.EF6": "[1.0.119]",
13+
"System.Data.SQLite.Linq": "[1.0.119]"
14+
}
15+
},
16+
"EntityFramework": {
17+
"type": "Transitive",
18+
"resolved": "6.5.2",
19+
"contentHash": "8iOcnaKcgkWh35s8EhknnENNwwqvrBJ7jeNbQITbGo1mIeIOhGPfVdNOXZ3Y496T6e6wfXvz0WeXlgMdcgVYSA=="
20+
},
21+
"Stub.System.Data.SQLite.Core.NetFramework": {
22+
"type": "Transitive",
23+
"resolved": "1.0.119",
24+
"contentHash": "8b4SbSXAxXJ8tfn6bnBu0m+HXMZvkE+BfogUKITRFm+snxfT5BTK7fLZaAsNoFX8DkBBjtCEDd+ajWkcyu55QA=="
25+
},
26+
"System.Data.SQLite.Core": {
27+
"type": "Transitive",
28+
"resolved": "1.0.119",
29+
"contentHash": "bhQB8HVtRA+OOYw8UTD1F1kU+nGJ0/OZvH1JmlVUI4bGvgVEWeX1NcHjA765NvUoRVuCPlt8PrEpZ1thSsk1jg==",
30+
"dependencies": {
31+
"Stub.System.Data.SQLite.Core.NetFramework": "[1.0.119]"
32+
}
33+
},
34+
"System.Data.SQLite.EF6": {
35+
"type": "Transitive",
36+
"resolved": "1.0.119",
37+
"contentHash": "BwwgCSeA80gsxdXtU7IQEBrN9kQXWQrD11hNYOJZbXBBI1C4r7hA4QhBAalO1nzijXikthGRUADIEMI3nlucLA==",
38+
"dependencies": {
39+
"EntityFramework": "6.4.4"
40+
}
41+
},
42+
"System.Data.SQLite.Linq": {
43+
"type": "Transitive",
44+
"resolved": "1.0.119",
45+
"contentHash": "tkzb9aKEiQd18UW8VS6+vGtrkhcp4mjHg/AAKwNN8u7aWoBswquOnU07016MfTXyBUAR67mepWUhFC8zqNdPnA=="
46+
},
47+
"sqlite.codefirst": {
48+
"type": "Project",
49+
"dependencies": {
50+
"EntityFramework": "[6.5.2, )"
51+
}
52+
}
53+
}
54+
}
55+
}
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
{
2+
"version": 1,
3+
"dependencies": {
4+
"net10.0": {
5+
"System.Data.SQLite": {
6+
"type": "Direct",
7+
"requested": "[1.0.119, )",
8+
"resolved": "1.0.119",
9+
"contentHash": "JSOJpnBf9goMnxGTJFGCmm6AffxgtpuXNXV5YvWO8UNC2zwd12qkUe5lAbnY+2ohIkIukgIjbvR1RA/sWILv3w==",
10+
"dependencies": {
11+
"System.Data.SQLite.Core": "[1.0.119]",
12+
"System.Data.SQLite.EF6": "[1.0.119]"
13+
}
14+
},
15+
"System.Data.SQLite.EF6": {
16+
"type": "Direct",
17+
"requested": "[1.0.119, )",
18+
"resolved": "1.0.119",
19+
"contentHash": "BwwgCSeA80gsxdXtU7IQEBrN9kQXWQrD11hNYOJZbXBBI1C4r7hA4QhBAalO1nzijXikthGRUADIEMI3nlucLA==",
20+
"dependencies": {
21+
"EntityFramework": "6.4.4"
22+
}
23+
},
24+
"EntityFramework": {
25+
"type": "Transitive",
26+
"resolved": "6.5.2",
27+
"contentHash": "8iOcnaKcgkWh35s8EhknnENNwwqvrBJ7jeNbQITbGo1mIeIOhGPfVdNOXZ3Y496T6e6wfXvz0WeXlgMdcgVYSA==",
28+
"dependencies": {
29+
"System.CodeDom": "6.0.0",
30+
"System.ComponentModel.Annotations": "5.0.0",
31+
"System.Configuration.ConfigurationManager": "6.0.1",
32+
"System.Data.SqlClient": "4.8.6"
33+
}
34+
},
35+
"Microsoft.Win32.SystemEvents": {
36+
"type": "Transitive",
37+
"resolved": "6.0.0",
38+
"contentHash": "hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A=="
39+
},
40+
"runtime.native.System.Data.SqlClient.sni": {
41+
"type": "Transitive",
42+
"resolved": "4.7.0",
43+
"contentHash": "9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
44+
"dependencies": {
45+
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
46+
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
47+
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
48+
}
49+
},
50+
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": {
51+
"type": "Transitive",
52+
"resolved": "4.4.0",
53+
"contentHash": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg=="
54+
},
55+
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni": {
56+
"type": "Transitive",
57+
"resolved": "4.4.0",
58+
"contentHash": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ=="
59+
},
60+
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni": {
61+
"type": "Transitive",
62+
"resolved": "4.4.0",
63+
"contentHash": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA=="
64+
},
65+
"Stub.System.Data.SQLite.Core.NetStandard": {
66+
"type": "Transitive",
67+
"resolved": "1.0.119",
68+
"contentHash": "dI7ngiCNgdm+n00nQvFTa+LbHvE9MIQXwMSLRzJI/KAJ7G1WmCachsvfE1CD6xvb3OXJvYYEfv3+S/LHyhN0Rg=="
69+
},
70+
"System.CodeDom": {
71+
"type": "Transitive",
72+
"resolved": "6.0.0",
73+
"contentHash": "CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA=="
74+
},
75+
"System.ComponentModel.Annotations": {
76+
"type": "Transitive",
77+
"resolved": "5.0.0",
78+
"contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg=="
79+
},
80+
"System.Configuration.ConfigurationManager": {
81+
"type": "Transitive",
82+
"resolved": "6.0.1",
83+
"contentHash": "jXw9MlUu/kRfEU0WyTptAVueupqIeE3/rl0EZDMlf8pcvJnitQ8HeVEp69rZdaStXwTV72boi/Bhw8lOeO+U2w==",
84+
"dependencies": {
85+
"System.Security.Cryptography.ProtectedData": "6.0.0",
86+
"System.Security.Permissions": "6.0.0"
87+
}
88+
},
89+
"System.Data.SqlClient": {
90+
"type": "Transitive",
91+
"resolved": "4.8.6",
92+
"contentHash": "2Ij/LCaTQRyAi5lAv7UUTV9R2FobC8xN9mE0fXBZohum/xLl8IZVmE98Rq5ugQHjCgTBRKqpXRb4ORulRdA6Ig==",
93+
"dependencies": {
94+
"runtime.native.System.Data.SqlClient.sni": "4.7.0"
95+
}
96+
},
97+
"System.Data.SQLite.Core": {
98+
"type": "Transitive",
99+
"resolved": "1.0.119",
100+
"contentHash": "bhQB8HVtRA+OOYw8UTD1F1kU+nGJ0/OZvH1JmlVUI4bGvgVEWeX1NcHjA765NvUoRVuCPlt8PrEpZ1thSsk1jg==",
101+
"dependencies": {
102+
"Stub.System.Data.SQLite.Core.NetStandard": "[1.0.119]"
103+
}
104+
},
105+
"System.Drawing.Common": {
106+
"type": "Transitive",
107+
"resolved": "6.0.0",
108+
"contentHash": "NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==",
109+
"dependencies": {
110+
"Microsoft.Win32.SystemEvents": "6.0.0"
111+
}
112+
},
113+
"System.Security.Cryptography.ProtectedData": {
114+
"type": "Transitive",
115+
"resolved": "6.0.0",
116+
"contentHash": "rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ=="
117+
},
118+
"System.Security.Permissions": {
119+
"type": "Transitive",
120+
"resolved": "6.0.0",
121+
"contentHash": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==",
122+
"dependencies": {
123+
"System.Windows.Extensions": "6.0.0"
124+
}
125+
},
126+
"System.Windows.Extensions": {
127+
"type": "Transitive",
128+
"resolved": "6.0.0",
129+
"contentHash": "IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==",
130+
"dependencies": {
131+
"System.Drawing.Common": "6.0.0"
132+
}
133+
},
134+
"sqlite.codefirst": {
135+
"type": "Project",
136+
"dependencies": {
137+
"EntityFramework": "[6.5.2, )"
138+
}
139+
}
140+
}
141+
}
142+
}

0 commit comments

Comments
 (0)