你好,我有一个WP8.1的Silverlight项目,这是一款游戏。我使用backgroundTask来提醒用户他上次玩的时间,如果他太慢而无法遵守我想从bagroundTask拨打服务器从游戏中退出。
backgroundTask是使用stackoverflow和this blog创建的,只是backgroundTask的基本实现。
然后我安装了NuGet包Microsoft.Azure.Mobile.Client
,一切都很好,然后我做了一个编译,一切都成功了。
出现应用安装和启动画面,然后在MobileServiceClient
App.xaml.cs
时,我在主项目中收到错误
public MobileServiceClient MobileService = new MobileServiceClient(
"https://xxxxx.azurewebsites.net"
);
上述行中的例外情况:
类型' System.IO.FileNotFoundException'的例外情况发生在mscorlib.ni.dll但未在用户代码中处理 附加信息:无法加载文件或程序集&System; Run.Runtime.InteropServices,Version = 4.0.10.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。系统找不到指定的文件。
唯一的变化是在backgroundTask项目中安装了NuGet包。上面例外的堆栈跟踪输出。
在System.ModuleHandle.ResolveType(RuntimeModule模块,Int32 typeToken,IntPtr * typeInstArgs,Int32 typeInstCount,IntPtr * methodInstArgs,Int32 methodInstCount,ObjectHandleOnStack类型) 在System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule模块,Int32 typeToken,RuntimeTypeHandle [] typeInstantiationContext,RuntimeTypeHandle [] methodInstantiationContext) 在System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken,Type [] genericTypeArguments,Type [] genericMethodArguments) at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord,MetadataImport scope,Assembly& lastAptcaOkAssembly,RunadataModule decoratedModule,MetadataToken decoratedToken,RuntimeType attributeFilterType,Boolean mustBeInheritable,Object [] attributes,IList derivedAttributes,RuntimeType& attributeType,IRuntimeMethodInfo& ctor,Boolean& ctorHasParameters ,布尔& isVarArg) 在System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule,Int32 decoratedMetadataToken,Int32 pcaCount,RuntimeType attributeFilterType,Boolean mustBeInheritable,IList derivedAttributes,Boolean isDecoratedTargetSecurityTransparent) 在System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule,Int32 decoratedMetadataToken,Int32 pcaCount,RuntimeType attributeFilterType,Boolean isDecoratedTargetSecurityTransparent) 在System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly程序集,RuntimeType caType) 在System.Reflection.RuntimeAssembly.GetCustomAttributes(Type attributeType,Boolean inherit) at System.Attribute.GetCustomAttributes(Assembly element,Type attributeType,Boolean inherit) 在Microsoft.WindowsAzure.MobileServices.PlatformInformationExtensions.GetVersionFromAssemblyFileVersion(IPlatformInformation platformInformation) 在Microsoft.WindowsAzure.MobileServices.PlatformInformation.get_Version() 在Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient.GetUserAgentHeader() 在Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient..ctor(IEnumerable`1处理程序,Uri applicationUri,String installationId) 在Microsoft.WindowsAzure.MobileServices.MobileServiceClient..ctor(Uri mobileAppUri,HttpMessageHandler []处理程序) 在Microsoft.WindowsAzure.MobileServices.MobileServiceClient..ctor(String mobileAppUri,HttpMessageHandler []处理程序) 在BC_Menu.App..ctor()
我无法解决这个问题。
附加
我可以使用proposed code对网络进行正常的http调用,在此复制:
BackgroundTaskDeferral _deferral;
public async void Run(IBackgroundTaskInstance taskInstance)
{
_deferral = taskInstance.GetDeferral();
// your async code
_deferral.Complete();
}
根据Adrian Halls答案进行更新
代码有效,我的前端应用程序可以与服务器和一切进行通信。 backgroundTask,可以从设备中提取信息一切正常,一切都编译并运行。
然后我将NuGet包添加到backgroundTask,当我将此解决方案部署到客户端时,突然出现上述错误。
我正在运行VS2015,Win10,并安装了Microsoft.Azure.Mobile.Client的v2.0.1。我在win10 before上看到了一些关于silverlight项目的奇怪行为。
答案 0 :(得分:2)
错误表明您的.NET设置存在问题 - 错误发生在mscorlib(.NET的基本库)中。尝试添加对所需特定库的引用。另外,请确保已安装v2.0.1(或更高版本)或Microsoft.Azure.Mobile.Client库。