Visual StudioでSwashbuckle を使ってSwagger用のJSONやUIをプロジェクトに追加してる場合、元ドキュメントをXMLから生成することが多いと思います。(プロジェクトのプロパティでXMLドキュメントを生成して参照するやり方ですね)
その場合、WebDeployでデプロイすると生成したXMLファイルが含まれてなくて発行先のSwaggerで参照できずエラーになってしまうので、手動で追加する方法です。
やり方は簡単でWebDeployの.pubxmlファイルに以下のように追加するだけです。
<ItemGroup>
<CustomFilesToInclude Include="$(MSBuildProjectDirectory)\bin\hogehoge.XML">
</CustomFilesToInclude>
<FilesForPackagingFromProject Include="@(CustomFilesToInclude)">
<DestinationRelativePath>bin\%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
簡単ですね。
別にビルド後イベントでXMLファイルをApp_Dataとかにコピーしてそっちを参照、出力に含めるように設定すればそれでいい気もしますね。まぁそんな感じで。
それとは別にAzureのWeb Appsに発行すると –532462766 なコンパイルエラーになったりする場合は以下のようにするといいでしょう。
発行先の追加ファイルを削除してプリコンパイルするだけです。
以上、個人用メモでした。