C# 使用预处理器指令(符号/常量)生成docfx

C# 使用预处理器指令(符号/常量)生成docfx,c#,preprocessor-directive,docfx,C#,Preprocessor Directive,Docfx,我已经建立了一个docfx项目,以从c#library项目的源代码生成文档。但是,当我在中有预处理指令时,它似乎不起作用,例如: #if NET48 /// <summary> /// An example class. /// </summary> public class MyClass { } #endif #如果是NET48 /// ///一个示例类。 /// 公共类MyClass{ } #恩迪夫 我已经在“docfx.json”文件的元数据属性下添加了

我已经建立了一个docfx项目,以从c#library项目的源代码生成文档。但是,当我在中有预处理指令时,它似乎不起作用,例如:

#if NET48
/// <summary>
/// An example class.
/// </summary>
public class MyClass {

}
#endif
#如果是NET48
/// 
///一个示例类。
/// 
公共类MyClass{
}
#恩迪夫
我已经在“docfx.json”文件的元数据属性下添加了TargetFramework,甚至还尝试了DefineConstants,但这两种方法似乎都不起作用。当我在中没有指令时,它会生成文档,但我的目标是“net48”和“netstandard2.0”,预处理器指令排除了在.net标准中无法工作的功能

更新 当我使用**.cs而不是**.csproj时,TargetFramework似乎被忽略。在不使用项目文件时,仅带有
#define NET48
的“docfxfix.cs”文件似乎是一种解决方法

当我从普通命令提示符(即msbuild不在路径中)运行docfx时,会出现错误“存在清单文件,但找不到SDK解析程序DLL文件的路径”。即使2017年安装了最新的构建工具,这一点仍然存在。如果我在启动VS2019的开发者命令提示符后运行,它看起来是正常的(尽管有时我需要删除'obj'文件夹和'api.yml'文件)