C# - WindowsPhone - DEP6810:MdilXapCompile.exe失败,错误代码为1004

时间:2015-08-30 21:41:40

标签: c# windows-phone-8.1 arm visual-studio-2015 azure-storage

我刚为Windows Phone 8.1商店应用创建了一个新的空项目。 然后我添加了WindowsAzure.Storage。 当我尝试使用选定的选项(Release,ARM)将此项目部署到我的真实手机时,我收到此错误:

Error : DEP6810 : MdilXapCompile.exe failed with error code 1004. See log file '...\obj\ARM\Release\MDIL\MDILXapCompileLog.txt' for more details.

在这里:

Error: Compile filter argument specified non-existent file: C:\Users\vlad\Documents\Visual Studio 2015\Projects\App1\App1\obj\ARM\Release\MSIL\de\Microsoft.Data.Edm.resources.dll
Invalid argument

Microsoft (R) MDIL XAP Compiler - Version 4.0.0.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Usage: MDILXAPCompile /In:<InputPath> /Out:<OutputPath> /Config:<ConfigPath> [/CompileFilter:<Assembly Path>;<Assembly Path>] [/Timeout:<Timeout>] [/Log:<LogPath>] [/AppX]

/In     - Path to directory containing files to process
/Out        - Path to directory to place processed files in
/Config     - Path to configuration file
/CompileFilter  - Optional restrictive list of assembly files in InputPath,
          separated by semi-colons, to be compiled.
/Timeout    - Optional timeout in milliseconds before killing the Crossgen process. Overrides config file timeout value. Use -1 for infinite timeout, 0 for application default (2 hours).
/Log        - Optional path to log file
/AppX       - Specifies that assemblies correspond to an AppX package

Relative paths are relative to this executable's directory.

如果我在de文件夹中为esMSIL等手动创建文件夹并复制Microsoft.Data.Edm.resources.dllMicrosoft.Data.OData.resources.dll和{{},我可以部署此应用1}}进入每个文件夹。

但是当我打电话给System.Spatial.resources.dll我的应用程序时才关闭。 await blockBlob.UploadFromFileAsync(file); - 没有结果。

应用程序在Emulator中的Debug-x86中运行良好,但为什么我不能在ARM上运行此代码?如果我甚至无法部署它,我怎么能在我的应用程序中使用Azure?

看起来他们在哪里使用本地化资源,但我如何修复它以使其在ARM上可用?

UPD1 - 这种解决方法毫无意义 - 我有4个例外。

try {} catch(Exception ex) {}

2 个答案:

答案 0 :(得分:0)

这是运行时本身的一个已知问题,实际上受Azure存储依赖项(OData库)的影响。

有关此错误和临时解决方法的详细信息,请参阅https://github.com/Azure/azure-storage-net/issues/123

答案 1 :(得分:0)

就我而言,我删除了不必要的nuget包(例如 Microsoft.Data.OData Microsoft.Data.Edm Systen.Spatial 来自WP客户端的 WindowsAzure.Storage ),该错误已经解决了。您可能希望从WP客户端使用Azure存储服务。但我更喜欢使用宁静的Web服务而不是WP客户端。所以我把Azure存储代码放到了Web服务上,我从WP客户端那里获得了这些服务。