2017-10-11 55 views
0

我一直在構建一個Xamarin.Forms應用程序並使用Debug來構建整個這段時間。它的一切工作正常。NuGet包在發佈時缺失但它編譯

但是,今天,當我去建立發佈,一切都很好。然而,我點擊一個菜單項,應該打開一個Acr.UserDialogs對話框,不會做任何事情,無論我點擊該項目多少次。同樣,這在Debug版本中完美工作。

我最好的猜測是Acr.UserDialogs NuGet引用是以某種方式不會使它進入發佈版本。這聽起來很荒謬,但這是我能想到的唯一合理的解釋,因爲所有其他可選菜單選項都能正常工作(沒有任何對話框會創建任何對話框)。

我甚至卸載並重新安裝了NuGet軟件包,沒有任何功能差異。這有可能發生嗎?

我記得不得不降級Xamarin.Forms由於菜單項攻不正確的組,但這不是一個ListViewGroup,正如我所說,其他菜單項正常工作。

+0

我注意到最新版本使用.net標準。我想知道這與它有什麼關係。無論如何,如果您在活動中添加了其他本機對話,則可以查看代碼是否已達到該對話。 –

回答

1

發現問題。這是我自己的愚蠢。

創建對話框的行位於運行於非UI線程上的Task中。出於某種原因,Debug對此沒有問題,但Release沒有。任務上拋出異常,所以無法完成,這就是爲什麼沒有發生。

我重構了代碼,因此只有需要在不同線程上運行的內容纔會進入Task,以便UI不會被阻止。