Microsoft Band SDK Deploy Error: To ARM in Release: Raw error code: 2148733978

Microsoft Band SDK Deploy Error: To ARM in Release: Raw error code: 2148733978

尝试使用 Microsoft Band SDK 部署应用程序时出现以下错误。构建配置为 RELEASE,目标输出为 ARM。如果使用 DEBUG 配置,它可以工作。

Error : DEP6810 : MdilXapCompile.exe failed with error code 2001.

我检查了 MDILXapCompileLog,下面是编译失败的地方:

CrossGen failed 
Error processing assembly [projectpath]...\obj\ARM\Release\MSIL\Microsoft.Band.dll
Raw error code: 2148733978

注意:关于这种情况的额外奇怪部分是,如果我只打包应用程序而不部署,我可以将它侧载到设备上,它会按预期工作。

这是 csproj 部分 - Debug/ARM:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\ARM\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
<NoWarn>;2008</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>ARM</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>

Release/ARM

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
<OutputPath>bin\ARM\Release\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
<Optimize>true</Optimize>
<NoWarn>;2008</NoWarn>
<DebugType>pdbonly</DebugType>
<PlatformTarget>ARM</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>

我看到的唯一区别是调试符号,Microsoft.Band.dll 可以没有 public 符号吗?难道 Visual Studio 不应该创建它们吗?

我注意到即使更新到较新的 SDK,该解决方案仍然有旧的 Band SDK - Preview 包。我手动删除了所有 nuget 项目,强制刷新包,项目现在部署成功。

步骤如下:

  1. 关闭Visual Studio
  2. 导航到 YourSolution/Packages/
  3. 删除所有内容 除了 packages.config
  4. 重新打开 Visual Studio
  5. 中的解决方案
  6. 右键单击解决方案并select“管理 Nuget 包
  7. 单击出现在对话框顶部的“恢复”按钮window

重建解决方案,它应该可以正确部署