Closed barry-jones closed 5 years ago
Some useful details on various path properties in VS 2017 from https://docs.microsoft.com/en-us/visualstudio/msbuild/common-msbuild-project-properties?view=vs-2017
BaseOutputPath
Specifies the base path for the output file. If it is set, MSBuild will use OutputPath = $(BaseOutputPath)\$(Configuration)\. Example syntax: <BaseOutputPath>c:\xyz\bin\</BaseOutputPath>
OutputPath
Specifies the path to the output directory, relative to the project directory, for example, bin\Debug
.
OutputType Specifies the file format of the output file. This parameter can have one of the following values:
AssemblyName The name of the final output assembly after the project is built.
DocumentationFile The name of the file that is generated as the XML documentation file. This name includes only the file name and has no path information.
More discussion can be found here: https://stackoverflow.com/questions/27073463/how-visual-studio-determines-output-path-when-its-not-informed-on-csproj
There are also more directories created based on <TargetFramework>
and RIDs that are specified. Though the target framework directory should contain the libraries we need to produce documentation.
Resolved by commit 3dd1ecd3bf106ffb71e004bae5b20edd34b97a31
Current implementation expects AssemblyName, OutputType and conditional property groups as per the 2005 project file implementation.
This needs to be updated to correctly read and understand the new project file format and its default output directories.
Old style 2005 format