Visual StudioでNuGetライブラリが出力するxmlを除外する

C#

様々なライブラリをオンラインで簡単にインストールできるNuGet。
NuGetでライブラリを追加してビルドすると、出力フォルダには.DLLファイルの他に.XMLファイルが出力される場合があります。
この.XMLファイルはDLLの使い方が書かれたドキュメントファイルなようで、実行時には特に必要ないファイルだったりします。

特にReleaseビルドの場合などは、極力不要なファイルは無くしたいと思う方も多いことでしょう。
Visual Studioのプロジェクトファイルを編集すれば、XMLファイルの出力しないよう設定することが可能です。


プロジェクトファイルの編集

Visual StudioのプロジェクトファイルはC#の場合だと拡張子が「.csproj」となっています。
XML形式のファイルなのでテキストエディタで編集が可能です。

<PropertyGroup>という要素の中を編集することになります。
ビルドの構成ごとに複数の<PropertyGroup>があるので、設定したいビルド構成の要素を探しましょう。

見つけたら以下の要素を追加します。

    <AllowedReferenceRelatedFileExtensions>
      *.xml
    </AllowedReferenceRelatedFileExtensions>

以下はReleaseビルドの構成に追加した例です。

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <PlatformTarget>AnyCPU</PlatformTarget>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <AllowedReferenceRelatedFileExtensions>
      *.xml
    </AllowedReferenceRelatedFileExtensions>
  </PropertyGroup>



コメント