タブレット用の Windows 8 アプリをいくつか作成する必要があります。共通の解決策があり、同じコードに異なるリソースを渡すことでニュース アプリが作成されます。モバイルの場合は簡単でした - Microsoft.Build.Evaluation.Project クラスを使用して xap ファイルを取得しました。
ただし、Surface の場合、コードからビルドしても appx は直接出力されませんが、MSBuild を使用してビルドすると appx が出力されます。
zip ファイル (myapp.appx) を作成し、この C++ コードを使用して署名するなど、(コマンド プロセスを作成することによって) C# から MSBuild を呼び出さないようにいくつかの方法を試しました。外部参照が原因でうまくいかず、あきらめました。
次に、C# でコマンド プロセスを作成して SignTool.exe を使用しようとしました。それも失敗しました。
したがって、MSBuild を使用せずに C# から直接 appx をビルドする方法があるかどうか疑問に思っています。
MSBuild を回避しようとしている理由は、Microsoft.Build.Evaluation.Project.Build() が提供するビルド プロセスからステータスを取得するためです。