@@ -69,14 +69,25 @@ public enum DependencySetting
6969 /// </summary>
7070 NoProjectReference = 1 << 8 ,
7171
72+ /// <summary>
73+ /// Indicates if the reference dll should be copied to the output folder. Represents the Private option of project reference.
74+ /// Valid only for C# projects.
75+ /// </summary>
76+ /// <remarks>
77+ /// Private: Specifies whether the reference should be copied to the output folder.
78+ /// This attribute matches the Copy Local property of the reference that's in the Visual Studio IDE.
79+ /// </remarks>
80+ CopyLocal = 1 << 9 ,
81+
7282 /// <summary>
7383 /// Specifies that the dependent project inherits the dependency's library files, library
7484 /// paths, include paths and defined symbols.
7585 /// </summary>
7686 Default = LibraryFiles |
7787 LibraryPaths |
7888 IncludePaths |
79- Defines ,
89+ Defines |
90+ CopyLocal ,
8091
8192 /// <summary>
8293 /// Specifies that the dependent project inherits the dependency's include paths and
@@ -89,6 +100,12 @@ public enum DependencySetting
89100 DefaultForceUsing = ForceUsingAssembly
90101 | IncludePaths
91102 | Defines ,
103+
104+ /// <summary>
105+ /// Indicates that the dependency use the default setting while not copying the dll
106+ /// to the current project output path (Private = false). Only use with C# dependency.
107+ /// </summary>
108+ DefaultWithoutCopy = Default & ~ CopyLocal
92109 }
93110
94111 /// <summary>
@@ -3875,7 +3892,8 @@ IConfigurationTasks GetConfigurationTasks(Platform platform)
38753892 var dotNetDependency = new DotNetDependency ( dependency )
38763893 {
38773894 ReferenceOutputAssembly = referenceOutputAssembly ,
3878- ReferenceSwappedWithOutputAssembly = isDotnetReferenceSwappedWithOutputAssembly
3895+ ReferenceSwappedWithOutputAssembly = isDotnetReferenceSwappedWithOutputAssembly ,
3896+ CopyLocal = visitedNode . _dependencySetting . HasFlag ( DependencySetting . CopyLocal )
38793897 } ;
38803898
38813899 if ( isDotnetReferenceSwappedWithOutputAssembly )
0 commit comments