5

尝试使用 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 部分 - 调试/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>

释放/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 可以没有公共符号吗?Visual Studio 不应该创建它们吗?

4

1 回答 1

1

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

以下是步骤:

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

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

于 2015-05-18T12:09:41.450 回答