2016-05-16 96 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没有表白工作室。

相关问题