2016-05-16 32 views
1

我在調試Android應用程序時遇到問題。當我開始調試時,然後停止,然後再次開始調試,即使沒有做任何更改,它也會始終在手機上重新安裝應用程序。由於我們的應用程序很大,並且每個構建需要一分鐘才能完成,因此這可能會開始變得很痛苦。據我所知,我已經正確設置了所有內容,包括啓用了快速部署並禁用鏈接程序以加快構建過程,但它仍然會重建,卸載並重新安裝應用程序,佔用大量時間。有一件事要注意,我們在Mac上看不到Xamarin Studio中的這種行爲,它只在Visual Studio中出現。Visual Studio在重新運行時無需更改即可重新安裝應用程序

我正在運行visual studio 2015 14.0.25123 update2與 Xamarin Android 6.0.3.5(a94a03b)。

請幫我解決這個問題。

謝謝。

回答

2

根據您提供的信息,您好像遇到了我們在NuGet包和約會中看到的近期問題。 Visual Studio的新NuGet客戶端現在將遵循.nupkg中的日期,而不是在將文件寫入磁盤時使用當前日期。

這意味着它們的文件中包含奇數日期的軟件包,如受歡迎的ModernHttpClient庫(使用2046對文件進行日期記錄)將最終寫入具有這些日期的磁盤中。因此,msbuild會在構建時檢測到這個未來的日期,並假設你的應用程序不是最新的,然後會啓動一個完整的重建,基本上打破了增量構建支持。

您可以通過打開msbuild診斷輸出來檢查是否屬於這種情況。在構建輸出焊盤的第一行應改爲類似:

1>Project 'App3' is not up to date. Input file 'c:\temp\app3\packages\modernhttpclient.2.4.2\lib\monoandroid\okhttp.dll' is modified after output file 'C:\temp\App3\App3\bin\Debug\App3.pdb'.

要解決它,你可以觸摸違規.dll文件的日期爲當前日期,或從的NuGet網站下載的NuGet packlage ,然後使用Windows內置的.zip支持提取(您必須使用Windows內置的支持其他實用程序可能保留假日期)。

以下VS擴展,還創建自動觸及問題的包的日期,絕對是讓最簡單的方法來分類的事情: https://visualstudiogallery.msdn.microsoft.com/0ffd5d55-6d03-4be1-95b5-a94c89af86ba

注意,這問題,如果你使用Xamarin沒有表白工作室。

相關問題