1. 28 10月, 2016 1 次提交
  2. 22 10月, 2016 1 次提交
    • 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
  3. 24 9月, 2016 2 次提交
  4. 07 9月, 2016 1 次提交
    • J
      Stop using UseCodebase for our product VSIXes · 0ede5542
      Jason Malinowski 提交于
      Now that we specify codebase attributes in our binding redirections,
      we don't need this anymore. This allows ngen to work in more scenarios
      since it resumes loading our packages in a Load context.
      
      I leave our diagnostics window VSIX as is, since that's a debugging tool
      and it's less to maintain by keeping it that way.
      0ede5542
  5. 17 8月, 2016 1 次提交
    • J
      Remove ImportGroup · 9f431374
      Jared Parsons 提交于
      The ImportGroup element is just noise.  It was also used very inconsistently in the repo and often within the same project file.  Just remove it.
      9f431374
  6. 21 7月, 2016 1 次提交
    • M
      Enable building and (some) testing on machines with only Dev15 Preview 3 installed (#12586) · 6ba2346b
      Manish Vasani 提交于
      * Enable building and testing on machines with only Dev15 Preview 3 installed
      
      1. Auto-detect the VS common tools path
      2. Convert analyzer samples to import Roslyn targets
      3. Ensure dependencies are copied to the output directory
      4. Workaround: Use local Microsoft.Net.Compilers.props until we move to a compiler toolset with https://github.com/dotnet/roslyn/commit/05c12ebfcdd08a02dbceded5327a8da7a7df23be
      5. Replace references to Microsoft.VisualStudio.ComponentModelHost.dll (VisualStudioReferenceAssemblyVersion) with a nuget reference to RoslynDependencies.Microsoft.VisualStudio.ComponentModelHost
      6. Add nuget references to Roslyn.Microsoft.Build, Roslyn.Microsoft.VisualStudio.ExtensionManager, RoslynDependencies.Microsoft.VisualStudio.Diagnostics.PerformanceProvider and RoslynDependencies.Microsoft.VisualStudio.CodeAnalysis.Sdk.UI.
      
      * Remove workaround now that new NuGet packages have been uploaded to nuget.org
      
      * Remove preprocessor directive MSBUILD12 and its references
      6ba2346b
  7. 13 5月, 2016 2 次提交
  8. 03 5月, 2016 1 次提交
  9. 19 4月, 2016 1 次提交
  10. 14 4月, 2016 1 次提交
  11. 05 4月, 2016 1 次提交
    • J
      More precisely control when we should include NuGet packages in VSIXes · e0dfce11
      Jason Malinowski 提交于
      Back in 84d7856e, I updated our targets to always include all
      dependencies from NuGet packages in our VSIXes. This was quick, but had
      a few problems:
      
      1. we would force-include everything, including VS SDK assemblies
      2. we would include the same assembly in multiple VSIXes, even when
         we really didn't need them.
      
      This is mostly a change to address the former. Now you have to
      explicitly state which NuGet packages you do want to bring in, and only
      those will get brought in to your VSIX. The rest are excluded.
      e0dfce11
  12. 02 4月, 2016 1 次提交
  13. 31 3月, 2016 1 次提交
    • J
      Move to the NuGet packages to pick up Microsoft.Shell.Immutable.14.0 · 253f74ff
      Jason Malinowski 提交于
      This fixes the ability to build with later versions of Visual Studio
      on your machine, since some later versions are incorrectly embedding
      type forwards to assemblies that they shouldn't be. The NuGet package
      includes dependencies of
      
      - Microsoft.VisualStudio.OLE.Interop
      - Microsoft.VisualStudio.Shell.Interop
      - Microsoft.VisualStudio.TextManager.Interop
      - Microsoft.VisualStudio.Shell.Immutable.11.0
      
      automatically, and so I remove those from the project files now too.
      253f74ff
  14. 25 3月, 2016 1 次提交
    • J
      Update references to Microsoft.VisualStudio.Shell.14.0 · 4422d87f
      Jason Malinowski 提交于
      For the Shell binary, we have two choices. We could either reference the
      version that matches the version of Visual Studio you are building with,
      or we could reference a fixed version with a HintPath so we can find the
      binary on all versions of Visual Studio. Doing the former is tricky
      since the name of the assembly is embedded into some XAML, so I go with
      the latter option.
      4422d87f
  15. 20 11月, 2015 1 次提交
  16. 18 11月, 2015 2 次提交
  17. 14 11月, 2015 2 次提交
    • J
      Remove source code dependencies on our OfficialBuild flag · ad31755b
      Jason Malinowski 提交于
      The official build flag specifies which assembly version is baked into
      Roslyn. This was being used in various ways to either include or not
      include binding redirects, but we now always want binding redirects.
      Also, we were passing the flag along to the compiler to figure out
      which NewVersion to bake into the redirects, but setting nothing
      at all conveniently does exactly what we want.
      ad31755b
    • A
      Restore missing nuget implementations · edb636fb
      Andrew Casey 提交于
      ...to Roslyn.VisualStudio.Setup.vsix
      edb636fb
  18. 10 11月, 2015 1 次提交
  19. 04 11月, 2015 1 次提交
  20. 27 10月, 2015 1 次提交
  21. 24 10月, 2015 3 次提交
  22. 16 10月, 2015 1 次提交
  23. 14 10月, 2015 3 次提交
  24. 22 9月, 2015 1 次提交
    • T
      This cleans up the Roslyn Code Base. · deee04e4
      Tanner Gooding 提交于
      * This updates all references to nuget.exe to use the copy in the root.
      * This deletes all NuGet.config and NuGet.exe files that are not in the root.
      * This removes all references to NuGet.targets (which is obsolete and no longer exists)
      deee04e4
  25. 05 9月, 2015 1 次提交
  26. 03 9月, 2015 1 次提交
  27. 26 8月, 2015 3 次提交
  28. 09 7月, 2015 1 次提交
    • A
      Unify the Closed/Open targets files · ebd5cd6e
      Andy Gocke 提交于
      The targets files were previously split into an open version in
      Microsoft.CodeAnalysis.Toolset.Open and a closed version in build/. This
      unifies the four targets into two new targets, VSL.Settings.targets and
      VSL.Imports.targets, and moves all the targets from ..Toolset.Open into
      the build/ folder.
      ebd5cd6e
  29. 19 6月, 2015 1 次提交
    • A
      Restore assemblies removed from vsix · 0ff12c54
      Andrew Casey 提交于
      System.Composition.Convention|Hosting|TypedParts
      System.Collections.Immutable
      System.Reflection.Metadata
      
      Only restored to Roslyn.VisualStudio.Setup.vsix
      0ff12c54
  30. 18 6月, 2015 1 次提交
    • A
      Fix signed build · 79ac9e48
      Andrew Casey 提交于
      Recently, a change was made to exclude assemblies that are part of Visual
      Studio from all VSIXes.  However, VSIXes that are to be included obviously
      need to be able to include such assemblies, so we use the new
      ForceIncludeInVsix element to override the filtering.
      79ac9e48