Bug 1569 - When I hit debug it rebuilds my code every time.
Summary: When I hit debug it rebuilds my code every time.
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: iOS add-in ()
Version: 2.8
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: ---
Assignee: Alan McGovern
Depends on:
Reported: 2011-10-19 07:55 UTC by Jamie Briant
Modified: 2015-01-30 11:04 UTC (History)
7 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Jamie Briant 2011-10-19 07:55:19 UTC
MD 2.8.1 building MonoTouch 5.0 project.
When I hit build, or debug, or run, it rebuild my project every time.
Then, because it takes so long to build, I might check something else, and not notice that its finished building, so then the debugger times out.
So then I hit "debug" and it builds the f***** code again.
You can imagine that this is somewhat frustrating.
Comment 2 Mikayla Hutchinson [MSFT] 2011-10-19 17:36:51 UTC
Maybe one of the input files has a write time in the future, therefore it will always be newer than the output?

FWIW, in MD build preferences you can disable the "build before run" behaviour.
Comment 3 Jamie Briant 2011-10-19 19:28:55 UTC
>Maybe one of the input files has a write time in the future

Maybe MD could tell me what is causing the build to happen, and then I could find that one file out of a thousand that has its write time in the future?

Here's the thing: 2.8 - no problem. 2.8.1 - rebuilds all the time. That was the only thing that changed.
Comment 4 Mikayla Hutchinson [MSFT] 2011-10-19 19:47:29 UTC
Thanks, that helped narrow it down. I've identified an incorrect change in MD 2.8.1 that broke build dependency checking for libraries with content files.
Comment 5 Rolf Bjarne Kvinge [MSFT] 2011-10-19 19:49:27 UTC
I can confirm that reverting that commit fixes the issue in the test project mentioned in comment #2.
Comment 6 Mikayla Hutchinson [MSFT] 2011-10-19 19:59:57 UTC
Thanks for confirming. I've reverted the change and the issue should be resolved in MD 2.8.2.
Comment 7 Jamie Briant 2011-10-19 20:03:40 UTC
Thanks. I went back to 2.8.0 for now.
Comment 16 Mikayla Hutchinson [MSFT] 2011-11-03 09:27:56 UTC
*** Bug 1853 has been marked as a duplicate of this bug. ***
Comment 17 Paul Read 2015-01-30 05:09:52 UTC
Still happens, XS rebuilds the package every time I hit F5 even if no change has been made
Comment 18 Jeffrey Stedfast 2015-01-30 09:48:54 UTC
That's just how MSBuild works. The old build system was not based on MSBuild, so it would try to figure out if it needed to build or not. This is no longer the case as we use msbuild/xbuild now.
Comment 19 Paul Read 2015-01-30 10:56:21 UTC
Surely you can do a quick time stamp check of all the files involved before handing over to MSBuild if needed
Comment 20 Jeffrey Stedfast 2015-01-30 10:58:05 UTC
Ms build does those time stamp checks as it runs the tasks. If the time stamps have not changed, then the task no-ops.
Comment 21 Paul Read 2015-01-30 11:04:33 UTC
As a user I think there is room for a very useful optimization that will benefit many others. How? - I leave to the XS developers. :-)