首页 > 解决方案 > 使用预处理器指令(符号/常量)生成docfx

问题描述

我已经建立了一个 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”文件)。

标签: c#preprocessor-directivedocfx

解决方案


推荐阅读