由于遗留原因,我正在维护一个Web站点项目,我想从XML文档注释中提供最新文档。我知道我可以通过调整<compilers>
中的web.config
部分来实现这一点。我终于达到了这一点:
<system.codedom>
<compilers>
<compiler
language="c#;cs;csharp"
extension=".cs"
type="Microsoft.CSharp.CSharpCodeProvider"
compilerOptions="/optimize /doc:C:\temp\my-output-here.xml"
warningLevel="1" />
</compilers>
</system.codedom>
现在当我启动网站(并因此调用即时编译)时,我确实在请求的位置获得了一个XML文件,但它是最小的:
<?xml version="1.0"?>
<doc>
<assembly>
<name>App_global.asax.abqhzva4</name>
</assembly>
<members>
</members>
</doc>
似乎<compiler>
标签并不能完全符合我的要求。它必须为项目文件夹本身而不是.cs
文件生成XML,或者它被每个编译单元覆盖,我只看到最后一个,或者......我不知道。我不确定。此配置标记没有详细记录。
长话短说,我正在寻找一种方法来获取此网站项目中所有.cs
文件的XML文档。如果它全部在一个文件中,在单独的文件中,或者甚至在运行时被塞进内存中都没关系。
我是aware of the prior question,但是那里提供的链接已经重定向到Sandcastle网站。这很好,但它比我实际上要在这个项目上使用的方式更多。只需在构建时或运行时获取XML文档就是必要的。
我的问题是:我需要做些什么才能获得<compiler>
配置条目来为网站项目生成XML文档?
答案 0 :(得分:1)
我也有一个丑陋的解决方法......但是这里有!
1. 从此页面下载最新的Sandcastle Installer - https://github.com/EWSoftware/SHFB/releases
2. 解压缩并运行安装程序
3。将EWSoftware.CodeDom.dll
复制到您网站的\bin
目录中。此文件的默认位置为 - C:\Program Files (x86)\EWSoftware\Sandcastle Help File Builder\Extras\EWSoftware.CodeDom.dll
4. 修改web.config,如下所示:
<configuration>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
compilerOptions="/docpath:C:\Publish\Docs"
type="EWSoftware.CodeDom.CSharpCodeProviderWithDocs, EWSoftware.CodeDom"
>
<!-- NOTE: Change version value as needed (v3.5, v4.0, etc.) -->
<providerOption name="CompilerVersion" value="v4.0"/>
</compiler>
</compilers>
</system.codedom>
</configuration>
来源:http://ewsoftware.github.io/EWSoftwareCodeDom/html/40ba6bda-95d6-4a64-834f-f7cedcb589d1.htm
5. 重建您的解决方案,瞧!使用/docpath
选项指定的文件夹将包含XML文档。