diff --git a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj
index f625dcbe6..a6e830926 100644
--- a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj
+++ b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj
@@ -1,8 +1,9 @@
-
+
+
1.0.0-rc
@@ -23,4 +24,5 @@
+
diff --git a/build/BuildDefaults.props b/build/BuildDefaults.props
index d574b1789..1f26ed860 100644
--- a/build/BuildDefaults.props
+++ b/build/BuildDefaults.props
@@ -33,5 +33,6 @@
NU1701;NU5104
true
+ true
diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props
index 07e237526..048583f64 100644
--- a/build/DependencyVersions.props
+++ b/build/DependencyVersions.props
@@ -78,7 +78,7 @@
2.1.0-prerelease-02430-04
$(BuildTasksFeedToolVersion)
- 2.0.0-preview2-25331-01
+ 2.0.0
diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj
index 0e516f440..51de5c615 100644
--- a/build/package/Installer.DEB.proj
+++ b/build/package/Installer.DEB.proj
@@ -94,12 +94,12 @@
UseHardlinksIfPossible="False" />
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
@@ -174,8 +174,9 @@
-
-
+
+
+
diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets
index e6e4fa917..3a9990d62 100644
--- a/build/package/Installer.RPM.targets
+++ b/build/package/Installer.RPM.targets
@@ -196,7 +196,8 @@
-
+
+
diff --git a/build_projects/dotnet-cli-build/Crossgen.cs b/build_projects/dotnet-cli-build/Crossgen.cs
index 48ebdebfa..8c4d4954e 100644
--- a/build_projects/dotnet-cli-build/Crossgen.cs
+++ b/build_projects/dotnet-cli-build/Crossgen.cs
@@ -82,7 +82,38 @@ namespace Microsoft.DotNet.Build.Tasks
protected override MessageImportance StandardOutputLoggingImportance
{
- get { return MessageImportance.High; } // or else the output doesn't get logged by default
+ // Default is low, but we want to see output at normal verbosity.
+ get { return MessageImportance.Normal; }
+ }
+
+ protected override MessageImportance StandardErrorLoggingImportance
+ {
+ // This turns stderr messages into msbuild errors below.
+ get { return MessageImportance.High; }
+ }
+
+ protected override void LogEventsFromTextOutput(string singleLine, MessageImportance messageImportance)
+ {
+ // Crossgen's error/warning formatting is inconsistent and so we do
+ // not use the "canonical error format" handling of base.
+ //
+ // Furthermore, we don't want to log crossgen warnings as msbuild
+ // warnings because we cannot prevent them and they are only
+ // occasionally formatted as something that base would recognize as
+ // a canonically formatted warning anyway.
+ //
+ // One thing that is consistent is that crossgne errors go to stderr
+ // and everything else goes to stdout. Above, we set stderr to high
+ // importance above, and stdout to normal. So we can use that here
+ // to distinguish between errors and messages.
+ if (messageImportance == MessageImportance.High)
+ {
+ Log.LogError(singleLine);
+ }
+ else
+ {
+ Log.LogMessage(messageImportance, singleLine);
+ }
}
protected override string GenerateFullPathToTool()