Visual studio 2012 网站项目:希望在生成时生成XML文档
出于遗留的原因,我正在维护一个Web站点项目,我希望为其提供来自XML文档注释的最新文档。我想我可以通过调整Visual studio 2012 网站项目:希望在生成时生成XML文档,visual-studio-2012,web-site-project,xml-documentation,Visual Studio 2012,Web Site Project,Xml Documentation,出于遗留的原因,我正在维护一个Web站点项目,我希望为其提供来自XML文档注释的最新文档。我想我可以通过调整web.config中的部分来做到这一点。我终于达到了这一点: <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeP
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>
但提供的链接已重定向到Sandcastle站点。这很好,但这比我在这个项目中实际使用的要多得多。只需在构建时或运行时获取XML文档即可
然后我的问题是:我需要做什么才能获得
配置条目来为网站项目生成XML文档?我还有一个难看的解决方法。。。但是现在开始了
1。从此页面下载最新的Sandcastle安装程序-
2.解压缩并运行安装程序
3.将EWSoftware.CodeDom.dll
复制到您网站的\bin
目录中。此文件的默认位置为-C:\ProgramFiles(x86)\EWSoftware\Sandcastle帮助文件生成器\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>
资料来源:
5.重建您的解决方案,瞧!使用/docpath
选项指定的文件夹将包含您的XML文档。我喜欢这样!当然,这意味着要安装所有的Sandcastle,但结果是维护成本很低。好的,谢谢。我有一种预感,每个目录都是通过对csc.exe的新调用构建的。使用原始技术,在构建每个文件夹时,输出XML文件将覆盖上一个文件夹的XML文件。因此,您所看到的只是上一个编译文件夹的XML文件。因此需要Sandcastle编译器,它为每个文件夹提供一个唯一命名的XML文件,或者为每个文件调用csc.exe?关键是,如果进行了多个调用,则需要一种为每个调用指定目标XML文件的方法。