NuGet包在发布时缺失但它编译
问题描述:
我一直在构建一个Xamarin.Forms应用程序并使用Debug来构建整个这段时间。它的一切工作正常。NuGet包在发布时缺失但它编译
但是,今天,当我去建立发布,一切都很好。然而,我点击一个菜单项,应该打开一个Acr.UserDialogs对话框,不会做任何事情,无论我点击该项目多少次。同样,这在Debug版本中完美工作。
我最好的猜测是Acr.UserDialogs NuGet引用是以某种方式不会使它进入发布版本。这听起来很荒谬,但这是我能想到的唯一合理的解释,因为所有其他可选菜单选项都能正常工作(没有任何对话框会创建任何对话框)。
我甚至卸载并重新安装了NuGet软件包,没有任何功能差异。这有可能发生吗?
我记得不得不降级Xamarin.Forms由于菜单项攻不正确的组,但这不是一个ListViewGroup,正如我所说,其他菜单项正常工作。
答
发现问题。这是我自己的愚蠢。
创建对话框的行位于运行于非UI线程上的Task中。出于某种原因,Debug对此没有问题,但Release没有。任务上抛出异常,所以无法完成,这就是为什么没有发生。
我重构了代码,因此只有需要在不同线程上运行的内容才会进入Task,以便UI不会被阻止。
我注意到最新版本使用.net标准。我想知道这与它有什么关系。无论如何,如果您在活动中添加了其他本机对话,则可以查看代码是否已达到该对话。 –