1

*を作りたい。x86およびx64 appxを含む Windows 8.1 JavaScript アプリのappxbundle。

これは Visual Studio 2013 で正常に動作しています。プロジェクトを右クリックし、[ストア] -> [アプリ パッケージの作成] を選択して、両方のアーキテクチャを選択します。

ただし、MSBuild で動作させることはできません。私の msbuild ステートメントは次のようになります。

msbuild MyProj.Win81.jsproj /property:Configuration=Release;Platform=x64;AppxBundle=Always /target:Clean,Rebuild,Publish

私のMyProj.Win81.jsprojは次のようになります (少し短縮されています)。

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ProjectConfiguration Include="Debug|AnyCPU">
  <Configuration>Debug</Configuration>
  <Platform>AnyCPU</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM">
  <Configuration>Debug</Configuration>
  <Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
  <Configuration>Debug</Configuration>
  <Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x86">
  <Configuration>Debug</Configuration>
  <Platform>x86</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|AnyCPU">
  <Configuration>Release</Configuration>
  <Platform>AnyCPU</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
  <Configuration>Release</Configuration>
  <Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
  <Configuration>Release</Configuration>
  <Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x86">
  <Configuration>Release</Configuration>
  <Platform>x86</Platform>
</ProjectConfiguration>
</ItemGroup>
  <Import Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
<PropertyGroup Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '12.0'">
    <VisualStudioVersion>12.0</VisualStudioVersion>
  </PropertyGroup>
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).Default.props" />
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).props" />
  <PropertyGroup>
    <TargetPlatformIdentifier>Windows</TargetPlatformIdentifier>
    <TargetPlatformVersion>8.1</TargetPlatformVersion>
    <RequiredPlatformVersion>8.1</RequiredPlatformVersion>
    <MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
    <DefaultLanguage>en-US</DefaultLanguage>
    <AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
    <AppxBundle>Always</AppxBundle>
    <AppxBundlePlatforms>x86|x64</AppxBundlePlatforms>
  </PropertyGroup>

  <ItemGroup>
    <AppxManifest Include="package.win81.store.appxmanifest">
      <SubType>Designer</SubType>
    </AppxManifest>
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).targets" />
</Project>

MSBuild は、x64 アーキテクチャのみを含む appxbundle を常に生成します。これは、AppxBundlePlatforms が両方を定義しているにもかかわらず、Platform=x64 を明示的に設定したことが原因である可能性があります。Platform パラメーターを省略すると、エラーが発生します。

error APPX3104: You cannot create an app bundle when building for platform 'AnyCPU' which is not included in the list of platforms selected for producting app bundle. Set platform to a one of following values: x86;x64.

私は何が欠けていますか?

//編集: VS2013 appxbundle の作成と jsproj ファイルの更新されたプロジェクト構成のスクリーンショット ここに画像の説明を入力

4

0 に答える 0