core
                                
                                 core copied to clipboard
                                
                                    core copied to clipboard
                            
                            
                            
                        C# projects are always rebuilding
WebSharper for C# uses an MSBuild task running after CoreCompile to do the JavaScript compilation and embed the resulting resource files into the output .dll. Touching that seems to make the up-to-date check fail on a repeated compilation.
Possibly solvable by only the target file reporting the the output .dll as an Outputs parameter.
I created a PR, #1081, which does what you suggest (although I also had to add an Inputs attribute).
After this change, incremental build seems to be behaving as expected.
@caleb-motivity Thanks a lot! I am testing a WS 4.6 release, coming soon, including this!
@caleb-motivity Using Inputs/Outputs was problematic, if the inputs list contains only the source files, C# can rebuild and WS skipping if something else has changed.
I tried adding more items to match CoreCompile, but this is a messier solution, switched to using TargetsTriggeredByCompilation instead. This solves that WS task would force CoreCompile to run, but still, WS task would run if CoreCompile skips. So I added a check in the compiler exe itself, if the WS-specific resources are already existing in the output dll, the WS compilation skips.
Also including wsconfig.json in the list of files that re-triggers a build automatically. Hopefully this resolves the last issues with 4.6 and I'm releasing it to nuget.org today.
Interesting, that sounds tricky to do in MSBuild so I can see why it would make sense to add the check in the compiler.
Thanks for doing this. I'll keep my eye on it when we make the bump to 4.6.