1. 28 10月, 2016 2 次提交
  2. 27 10月, 2016 5 次提交
  3. 26 10月, 2016 6 次提交
  4. 25 10月, 2016 5 次提交
  5. 24 10月, 2016 4 次提交
    • J
      Remove FileAlignment uses · 37a07945
      Jared Parsons 提交于
      37a07945
    • J
      Remove SolutionDir · f7e896f8
      Jared Parsons 提交于
      This should either be defined globally or not at all.  Repeating all the logic on a local level is just wasted time.
      f7e896f8
    • J
      55a86b1d
    • J
      Compiler server should be tolerant of corrupted application settings · 74363cfc
      Jared Parsons 提交于
      When a machine.config or app.config is corrupted it's possible for `ConfigurationManager.AppSettings` to throw an exception.  The compiler server was not tolerant of such a failure and as a result would terminate immediately after startup.
      
      The compiler workflow is generally very tolerant of failures in the server.  It is an optimization only, and any crashes, bad results, etc ... are ignored and the workflow will fall back to the command line.  Failing on startup is one case the workflow does not handle well right now.  The workflow does not distinguish between a crash at startup and a very slow JIT situation (as is the case with old, single core machines).  As such it ends up adding an unnecessary 25 second delay to the compilation.  Issue #14265 tracks fixing this delay but it won't make RC.
      
      Up until now only one incident of corrupted app settings was reported and it was considered an extremely unlikely problem (as it would break a lot of apps).  Going through VS feedback last night I found one other incident which could would be explained by this problem.  Hence it's possible this is more likley than originally thought (although still very rare) and decided to put it into RC.
      
      closes #14288
      74363cfc
  6. 22 10月, 2016 4 次提交
    • J
      Respond to PR feedback · bc868c53
      Jared Parsons 提交于
      bc868c53
    • C
    • J
      TLDR: artifacts are going to move around in Binaries\Debug and the directory... · b9ba3e9e
      Jared Parsons 提交于
      TLDR: artifacts are going to move around in Binaries\Debug and the directory is going to get a lot bigger.
      
      At a high level build projects can be classified into three categories based on how they write output:
      
      - incorrect: a given output path is written to more than once with different contents
      - less correct: a given output path is written to more than once but always with the same content
      - correct: a given output path is written to exactly once
      
      Today the roslyn build is decidedly “incorrect” as pretty much every file is written directly into Binaries\Debug. This means it ends up writing pretty much every Visual Studio SDK DLL twice: once for Dev14 and once for Dev15. For example at various points in the build Binaries\Debug\Microsoft.VisualStudio.Text.Data.dll may refer to Dev14 and at others it’s Dev15. If this seems like a scary proposition for a build that’s because it is indeed scary and it has real consequences. By now pretty much everyone on the team has hit the build race condition that is dragging down our PRs.
      
      The general fix here is to move build outputs into separate directories. Instead of building to $(Configuration) projects now build into say $(Configuration)\Exes\$(MSBuildProjectFileName). This will have a substantial increase in the size of Binaries. We will be looking into ways to reduce that. In the short term though build stability far outweighs the size increase.
      
      This change takes us most of the way to "correct". There are several places I had to compromise in order to get this initial change in:
      
      - UnitTests still build to a common output folder (one for Dev14, another for Dev15). Pulling unit tests apart is going to take a bit of work.
      - Every project has a <RoslynProjectType> entry. This will go away in the future for most projects. It's temporarily needed so I can fix roslyn-internal in parallel without taking down the build.
      - VSL.Imports.targets is messy. Unavoidable for now due to the above. It will get cleaner as I iterate on this.
      
      None of these are relevant to the underlying race condition. Hence it's okay to push them off.
      b9ba3e9e
    • A
      a55b5d0d
  7. 21 10月, 2016 3 次提交
  8. 20 10月, 2016 3 次提交
  9. 19 10月, 2016 5 次提交
  10. 18 10月, 2016 3 次提交
    • A
      Propagate delegate relaxation information for tuple conversions. · 92f0324c
      AlekseyTs 提交于
      Fixes #14255.
      Also fixes #14530.
      92f0324c
    • A
      Rationalize references for Microsoft.Net.Compilers.netcore (#14536) · 63872019
      Andy Gocke 提交于
      This package now only supports the TFM. This is because the purpose of the package
      to layout a .NET Core executable, which requires the netcoreapp references, including CoreCLR itself.
      
      There are also numerous references that are now provided by inheritance from the compiler itself, so
      those references have been removed from the Microsoft.Net.Compilers.netcore nuspec.
      
      Fixes #12674
      63872019
    • J
      Fix some inconsistencies in our project files · f6683037
      Jason Malinowski 提交于
      These changes don't matter for command line builds, but the project
      system interprets empty property groups to define which configuration/
      platform combinations exist. Thus, those should line up with the intent
      of the project. If there was ambiguity, I've resolved in favor of the
      project.json statement of the world since that's what was actually
      happening.
      f6683037