diff options
author | Alex Perovich <alperovi@microsoft.com> | 2017-01-13 02:19:14 +0300 |
---|---|---|
committer | Dan Moseley <danmose@microsoft.com> | 2017-01-13 02:19:14 +0300 |
commit | f719c8e769d57640a1d95e193979dfb0445d7d4e (patch) | |
tree | 975a927b0a7c2a9ee001592f606b2ffc3e8a527b /Documentation/coding-guidelines | |
parent | 1bcf8af7a18349cc1332610a1d5615ed1e1b00f5 (diff) |
Update project-guidelines.md (#15139)
Diffstat (limited to 'Documentation/coding-guidelines')
-rw-r--r-- | Documentation/coding-guidelines/project-guidelines.md | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Documentation/coding-guidelines/project-guidelines.md b/Documentation/coding-guidelines/project-guidelines.md index 468657ed37..4939d329b7 100644 --- a/Documentation/coding-guidelines/project-guidelines.md +++ b/Documentation/coding-guidelines/project-guidelines.md @@ -180,7 +180,7 @@ The output for the ref project build will be a flat targeting pack folder in the ##src In the src directory for a library there should be only **one** `.csproj` file that contains any information necessary to build the library in various configurations. All supported configurations should be listed in the `BuildConfigurations` property. -All libraries should use '<Reference Include="..." />' for all their project references. That will cause them to be resolved against a targeting pack (i.e. `bin\ref\netcoreapp` or `\bin\ref\netstanard`) based on the project configuration. There should not be any direct project references to other libraries. The only exception to that rule right now is for partial facades which directly reference System.Private.CoreLib and thus need to directly reference other partial facades to avoid type conflicts. +All libraries should use '<Reference Include="..." />' for all their project references. That will cause them to be resolved against a targeting pack (i.e. `bin\ref\netcoreapp` or `\bin\ref\netstanard`) based on the project configuration. There should not be any direct project references to other libraries. The only exception to that rule right now is for partial facades which directly reference System.Private.CoreLib and thus need to directly reference other partial facades to avoid type conflicts. <BR>//**CONSIDER**: just using Reference and use a reference to System.Private.CoreLib as a trigger to turn the other References into a ProjectReference automatically. That will allow us to have consistency where all projects just use Reference. ###src output @@ -242,4 +242,4 @@ Each source file should use the following guidelines As mentioned in [Conventions for forked code](conventions-for-forked-code) `#ifdef`ing the code is the last resort as it makes code harder to maintain overtime. If we do need to use `#ifdef`'s we should use the following conventions: - Defines based on conventions should be one of `$(OSGroup)`, `$(TargetGroup)`, `$(ConfigurationGroup)`, or `$(Platform)`, matching exactly by case to ensure consistency. - Examples: `<DefineConstants>$(DefineConstants),net46</DefineContants>` -- Defines based on convention should match the pattern `FEATURE_<feature name>`. These can unique to a given library project or potentially shared (via name) across multiple projects.
\ No newline at end of file +- Defines based on convention should match the pattern `FEATURE_<feature name>`. These can unique to a given library project or potentially shared (via name) across multiple projects. |