You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: readme.md
+7-3Lines changed: 7 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -227,6 +227,7 @@ When an item specifies *FrameworkSpecific=true*, the project's target framework
227
227
|------------------|-------------------|
228
228
| content (*) | true |
229
229
| lib | true |
230
+
| ref | true |
230
231
| dependency (**) | true |
231
232
| frameworkReference (**) | true |
232
233
| build | false |
@@ -236,7 +237,7 @@ When an item specifies *FrameworkSpecific=true*, the project's target framework
236
237
237
238
\***dependency* and *frameworkReference* are pseudo folders containing the package references and framework (`<Reference ...`) references.
238
239
239
-
\** tool(s), native, runtime(s), ref, analyzer(s), source/src, any custom folder.
240
+
\*** tool(s), native, runtime(s), analyzer(s), source/src, any custom folder.
240
241
241
242
The `PackFolder` property (at the project level) determines the *PackFolder* metadata value for the build outputs of the project (and its xml docs, pdb and other related files like satellite assemblies). It defaults to `lib`.
242
243
@@ -260,7 +261,8 @@ Whether items are packed by default or not is controlled by properties named aft
260
261
| PackReadme | true |
261
262
| PackSymbols | true if PackBuildOutput=true (*) |
262
263
| PackSatelliteDlls | true if PackBuildOutput=true (**) |
263
-
| PackDependencies| empty (***) |
264
+
| PackRefAssembly | true if PackBuildOutput=true and ProduceReferenceAssembly=true (***) |
265
+
| PackDependencies| empty (****) |
264
266
| PackFrameworkReferences | true if PackFolder=lib, false if PackDependencies=false |
265
267
| PackProjectReferences | true |
266
268
@@ -272,7 +274,9 @@ Whether items are packed by default or not is controlled by properties named aft
272
274
\** Satellite resources can come from the main project or from dependencies, if those PackageReferences
273
275
have `PrivateAssets=all`.
274
276
275
-
\*** In some scenarios, you might want to turn off packing behavior for all PackageReference and FrameworkReferences alike. Setting PackDependencies=false achieves that.
277
+
\*** When [ProduceReferenceAssembly](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/output#producereferenceassembly) is enabled, the reference assembly is automatically included in the `ref/[tfm]` folder alongside the implementation in `lib/[tfm]`.
278
+
279
+
\**** In some scenarios, you might want to turn off packing behavior for all PackageReference and FrameworkReferences alike. Setting PackDependencies=false achieves that.
276
280
277
281
278
282
The various supported item inference are surfaced as `<PackInference Include="Compile;Content;None;..." />` items, which are ultimately evaluated together with the metadata for the individual items. These make the package inference candidates. You can also provide an exclude expression for that evaluation so that certain items are excluded by default, even if every other item of the same type is included. For example, to pack all `Content` items, except those in the `docs` folder, you can simply update the inference item like so:
0 commit comments