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

様々なライブラリをオンラインで簡単にインストールできる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>