[英]How to generate XML documentation for CSPROJ with multiple targets
我有一個具有多個目標的庫項目,例如它在CSPROJ文件中:
<TargetFrameworks>net40;net46;net461;net462;net47</TargetFrameworks>
如果我想要這些目標框架和Debug
和Release
配置的所有組合的XML文檔,我必須使用Build Configuration Manager在UI中依次選擇每個文檔,然后將其設置為為該組合構建XML文檔,然后列出每個組合單獨作為CSPROJ中的PropertyGroup
以及XML文檔的預期輸出文件。
有沒有更好的辦法?
發布問題和答案,因為我沒有在網上找到其他任何記錄
一種簡單的方法是將GenerateDocumentationFile
屬性設置為true。 VS UI要設置路徑,如果路徑設置,MSBuild目標將此屬性設置為true,或者如果GenerateDocumentationFile
屬性為true,則設置默認路徑。 所以你可以將它添加到你的csproj文件中:
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
如果要將所有項目設置為true以進行共享,請在解決方案的目錄中使用以下內容創建名為Directory.Build.props
的文件,並將其自動導入到以下目錄層次結構中的任何項目中:
<Project>
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
</Project>
解決此問題的一種方法是在每個CSPROJ文件中包含以下內容:
<!-- Build XML documentation for all combinations of target framework x configuration -->
<PropertyGroup>
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml
</DocumentationFile>
</PropertyGroup>
更好的方法是鏈接到共享配置文件:
<!-- This must come after any other configuration so that it overwrites it -->
<Import Project="$(MSBuildThisFileDirectory)..\Shared.msbuild" />
...然后將上面的行放在該共享配置文件中,您還可以在其中設置所有其他解決方案范圍的CSPROJ設置,如Product
, Company
, Copyright
,...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.