Fixing FxCop nuget package to package base dll correctly
The FxCop C# and VB packages were packaging just the language specific dll and the base dll was in a separate package. This however means that the base dll gets deployed to a different location and so is not found. If the base dll was loaded first perchance then everything would work. That's why i didnt run into this when i authored the package.

Also putting in a temporary workaround for bug 1009918 by adding a resource fallback attribute (changeset 1334405)
made compiler error message to not include namespaces in most cases. this should make parsing error message a bit easier. (changeset 1334448)
EnC: Modifying property accessor resulted in a new Property added to the PropertyMap table (changeset 1334564)
Private struct fields affect definite assignment
except that as a concession to backward compatibility with a native compiler bug, private reference fields imported from metadata are ignored.
The strictest spec-required behavior is available using /features:strict

However, for region analysis even empty structs are considered to have some data. (changeset 1334661)
DevDiv #1015887: Marshalling System.DateTime for ISymUnmanagedWriter2.DefineConstant2

Formerly, we were just using .NET's built-in object-to-variant marshalling.  Unfortunately, .NET marshals DateTimes as the number of days since 1899/12/30, whereas the native VB compiler marshalled them as the number of ticks since the Unix epoch (i.e. a much, much larger number).  This resulted in incorrect display of DateTime constants in the EE.

The solution is to do our own marshalling between object and variant.  We use Marshal.GetNativeVariantForObject for every type but DateTime.

Thanks to JasonMal for helping me debug the COM marshalling!

CR: ChuckS, GreggM, KevinH, VSadov (changeset 1334950)
Enable passing test (changeset 1335005)
VBElvis - enforce correct semantics in lowering and codegen. (changeset 1335173)
PERF: ConcurrentDictionary allocations in SyntaxTreeSemanticModel
Replace three ConcurrentDictionary instances in SyntaxTreeSemanticModel with ImmutableDictionary. These ConcurrentDictionary (and associated) allocations were responsible for 11.9% of allocations in the C# project build scenario. (changeset 1335245)
PERF: C# SyntaxKind allocations
I noticed SyntaxKind allocations in the C# typing test. Since SyntaxKind is an enum, this implies boxing. One source appears to be the use of calling .Contains over a params array. That ends up calling IList.Contains(object) instead of what was probably expected: IList<T>.Contains(T).
The params arrays were also unnecessary allocations.
The boxed SyntaxKind allocations were 3.1% of allocations
The SyntaxKind arrays were another 0.2% (changeset 1335642)
PERF: String allocations in feature check.
The compiler's feature check uses a dictionary keyed on string. The keys are case insensitive so, rather than using ".ToLowerInvariant" on every lookup, I added an equality comparer. Since this is portable, we don't have an InvariantCulture comparer, so I switched it to Ordinal. Ordinal comparison is sufficient for compiler feature flags.
This was responsible for 0.1% of allocations in the C# typing test:
     Name                                                                   Inc %          Inc
     |+ mscorlib.ni!String.ToLower                                            0.1    7,276,920
     | + Microsoft.CodeAnalysis.ni!Compilation.Feature                        0.1    7,062,104
     | |+ Microsoft.CodeAnalysis.CSharp.ni!DisposeCheckerPass.Analyze         0.1    4,175,664

because "DisposeCheckerPass" checks for the presence of the "checkdispose" feature. (changeset 1335644)
bugfixes for null-propagating operator codegen.

Generics not constrained to class combined with extension methods or async. (changeset 1335874)
log linked file session info which are applied to workspace. this should exclude us from logging that are related to preview (changeset 1335931)
Remove dispose checker and its tests from csc (changeset 1336339)
remove unused ErrorCode values (changeset 1336376)
Corrected the order of "expected" and "actual" in EnC tests. (changeset 1336503)
Inline rename dashboard UI tweaks

     * Update checkbox texts with feedback from UX
     * Replace "Preview Changes" button with a checkbox
     * Turn "Apply" into a button
     * Move "Apply" to the right side of the dashboard
     * Add keyboard shortcuts for toggling options on the dashboard
     * Add an integration test for keyboard shortcuts (changeset 1336550)
Removes workarounds for portability bugs 967430 and 797360 - the underlying issues in the project system have been fixed.
Removes explicit references to portable facade assemblies (System.IO, System.Runtime, etc.).
 (changeset 1336570)
Minor cleanup of code gen for locals (changeset 1336760)
Optimize empty params arrays with Array.Empty<T>()

This change updates the C# compiler to use “Array.Empty<T>()” instead of “new T[0]” when filling an empty params array argument (and when Empty<T> is available). (changeset 1336872)
SemanticModel tests for VB Elvis operator. (changeset 1336900)