-
Notifications
You must be signed in to change notification settings - Fork 44
Description
Has anybody noticed that their project is always out of date and rebuilds every time you do something like run a unit test?
I have a project that is doing this. it takes 18 seconds just sitting there figuring out what to do before doing it, which really disrupts my flow. I got tired of it today and decided to look into why it is happening. If you go into VS and select Tools / Options then select Projects and Solutions and pick Build and Run, you can change the MSBuild project build output verbosity to Diagnostic.
Then the next time you build the first line that will show up in the output window will tell you why the project is building. This is what I get as the first line of my project that includes RequireJSDotNet:
1>Project 'XXX' is not up to date. Project item 'C:\Users\gregv...\RequireJS.json' has 'Copy to Output Directory' attribute set to 'Copy always'.
Ok, I guess when something is flagged as Copy Always, it means that the build system is going to do a build pass all the time.
so I decided to change Copy to Output Directory to "Copy if newer". Then I started to get:
1>Project 'XXX' is not up to date. Copy to output file 'C:\Users\gregv...\bin\RequireJS.json' missing from output location.
no matter how many times I run the build I always get this. I have the Build Action set to RequireJsNetConfig. I assume this build action does not copy the .json file to the output directory.
Do I have something configured wrong? Or is this just an oversight and a bug?
Thanks
Greg