簡體   English   中英

如何為具有多個目標的CSPROJ生成XML文檔

[英]How to generate XML documentation for CSPROJ with multiple targets

我有一個具有多個目標的庫項目,例如它在CSPROJ文件中:

<TargetFrameworks>net40;net46;net461;net462;net47</TargetFrameworks>

如果我想要這些目標框架和DebugRelease配置的所有組合的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設置,如ProductCompanyCopyright ,...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM