Giter Club home page Giter Club logo

Comments (3)

rainersigwald avatar rainersigwald commented on July 17, 2024 1

In that binlog:

  1. CoreCompile is running because of <Target Name="_SetGeneratedOutputItems" DependsOnTargets="CoreCompile"> from microsoft.visualstudio.extensibility.jsongenerators.sdk\17.10.2079\build\Microsoft.VisualStudio.Extensibility.JsonGenerators.Sdk.props
  2. That's depended on by ExtensionJsonOutputGroup
  3. That's explicitly requested in the reference through VSSDK targets by

https://github.com/dotnet/roslyn/blob/879be6a9604d74f51916939625856e6602303256/src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj#L209C146-L209C170

I think two things should be done:

  1. The VSSDK should be updated so that reference is Compile instead of CoreCompile, which would trigger all of $(CompileDependsOn) in order and work.
  2. CoreCompile for VB and C# should consider adding an explicit dependency on ResolveKeySource.

The reason I'm saying "consider" for 2 is that right now CoreCompile doesn't really have any explicit dependencies and depends on the implicit $(BuildDependsOn)/$(CompileDependsOn) ordering. That can produce other problems like this (I'm a bit surprised for example that NuGet references made it into this compilation)--but adding a constraints to target order has been a surprisingly breaking operation in the past due to how people have hooked the fragile existing system.

from msbuild.

rainersigwald avatar rainersigwald commented on July 17, 2024 1
  • The VSSDK should be updated so that reference is Compile instead of CoreCompile, which would trigger all of $(CompileDependsOn) in order and work.

I did this in an internal PR that I just completed; not sure when there'll be a new package for Roslyn to reference @jjonescz.

from msbuild.

jjonescz avatar jjonescz commented on July 17, 2024

Thanks, now after updating VSSDK with the fix I see a similar issue - WPF markup is not getting compiled. Again it looks like target CoreBuild depends on PrepareResources which depends on MarkupCompilePass1 and CoreCompile is not in this dependency chain so it can run before MarkupCompilePass1 - failing to find the C# files generated from WPF XAML markup files.

Here are binlogs - first a failing one then another succeeding on rebuild for comparison: wpf-binlogs.zip

Edit: thinking more about this it's weird the generated files are getting deleted on incremental rebuilds, I should look into that.
Edit2: nevermind, they are not getting deleted, they are just not passed as Compile items.

from msbuild.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.