Microsoft Band SDK を使用してアプリを展開しようとすると、次のエラーが発生します。ビルド構成は RELEASE で、ターゲット出力は ARM です。DEBUG config を使用すると動作します。
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>
リリース/アーム
<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 がそれらを作成することになっていませんか?