tmytのらくがき

個人の日記レベルです

UWP SDK 1.1 でリリースビルドに失敗したら

UWP SDK 1.1でアプリをリリースビルドすると Manifest references file '' which is not part of the payload. とかいわれてパッケージの作成に失敗することがあります。

どうやらSDKの問題らしく、英語フォーラムに詳細がありました。

In Update 1.1, creating a Store associated package fails for a Universal Windows application (UWP) using a WinRT component (.winmd).
The reported error is: Manifest references file '' which is not part of the payload.

Update 1.1: Generating Store associated package fails for a UWP application with a WinRT component (.winmd)

Windows Runtime Component を含む場合にリリースビルドでパッケージを作成するとどうもだめみたいです。"Windows Runtime Componentを含む場合"なので、主にバックグラウンドタスクを含むアプリで問題になることがあります。

回避方法も上記フォーラムに回答されています。詳しくはフォーラムを参照してもらうとよいのですが、簡単に紹介だけしておきます。

アプリのメインのcsprojファイルをエディタで開き、次のXMLを追加します。

<ItemGroup>
  <AppxSystemBinary Include="App1.dll" />
</ItemGroup>

App1.dll の部分は、メインのcsprojから出力されるファイル名の.exe を.dll に変更したものを指定します。エラーメッセージに書いてあるdllの名前をそのまま書き写せばOKです。

そのあと再度パッケージを生成しなおせば問題は回避できるそうです。

ちなみに3日ぐらい悩みました。