我已经建立了一个 docfx 项目来从 ac# 库项目的源代码生成文档。但是,当我有预处理指令时,它似乎不起作用,例如:
#if NET48
/// <summary>
/// An example class.
/// </summary>
public class MyClass {
}
#endif
我已经在'docfx.json'文件的元数据属性下添加了TargetFramework,甚至还尝试了DefineConstants,但似乎都没有工作。当我没有指令时它会生成文档,但我的目标是'net48'和'netstandard2.0',预处理器指令不包括在.net标准中不起作用的功能。
更新
当我使用 **.cs 而不是 **.csproj 时,TargetFramework 似乎被忽略了。不使用项目文件时,仅带有“docfxfix.cs”文件#define NET48
似乎是一种解决方法。
当我从普通命令提示符(即 msbuild 不在路径中)运行 docfx 时,我收到错误消息“存在清单文件,但找不到 SDK Resolver DLL 文件的路径。”。即使是为 2017 年安装的最新构建工具也是如此。如果我在启动 VS2019 的开发人员命令提示符后运行它似乎没问题(尽管我有时需要删除“obj”文件夹和“api.yml”文件)。