2

我正在尝试使用 Xamarin.Forms 来嵌入带有一些通用 UI 的 Urho 应用程序,这些 UI 是在可移植项目中定义的。

它在Android上运行,这很好!

Xamarin UrhoSharp 功能示例适用于 UWP,但那里的 UI 不是跨平台的,所以我想尽可能避免这种情况。

在 UWP x86/32 位上,这似乎是唯一受支持的配置(?),我得到这个异常:

“无法加载 DLL 'mono-urho':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)”

   at Urho.Sdl.SDL_SetMainReady()
   at Urho.UWP.UrhoSurface.Run(Type appType, String[] customAssetsPaks, ApplicationOptions opt)
   at Urho.Forms.UwpSurfaceRenderer.UrhoLauncher(Type type, ApplicationOptions opts)
   at Urho.Forms.UrhoSurface.<Show>d__4`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at XamarinTest.SessionPage.<OnAppearing>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
   at System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore()

mono-urho.dll 位于 /bin/x86/debug 中(从包中复制...)

我对 UWP 项目的参考:

  • Microsoft.NETCore.UniversalWindowsPlatform 5.2.2
  • Oxage.Xam.VideoPlayer 1.2.0
  • 通用窗户
  • UrhoSharp.Forms 1.1.125
  • Xamarin.Forms 2.3.2.127
  • XamarinTest(我的便携式库)

我用依赖遍历器查看了 DLL,但我怀疑它对 UWP 并没有真正有用。它找到了 DirectX DLL,但没有找到 UWP 运行时,可能是由于路径不同。

有任何想法吗?

4

2 回答 2

1

我在未更改的 urhosharp UWP 功能示例项目(https://github.com/xamarin/urho-samples/tree/master/FeatureSamples/UWP)的构建中遇到了类似的问题。

只有在本地机器/模拟器上运行时才会加载,针对手机模拟器运行会导致您引用的相同异常。

我的解决方法是缺少子依赖项;项目 SDK 参考:Visual C++ 2015 Runtime for Universal Windows Platform Apps

添加参考 -> 通用 Windows -> 扩展 -> “Visual C++ 2015 Runtime for Universal Windows Platform Apps”

高温高压

于 2016-10-16T02:25:37.353 回答
0

我的笔记本电脑上有一个待处理的 Windows 10 更新,由于它在夜间关闭并断开连接,因此从未安装过。

安装失败(到 1607),然后 Windows 回滚了更新。

然后Urho又开始在UWP工作了!

¯\_(ツ)_/¯

于 2016-11-09T08:06:10.277 回答