From 5d209186d887a241dd849034ce4c923305b3c5ca Mon Sep 17 00:00:00 2001
From: Doug Bunting <6431421+dougbu@users.noreply.github.com>
Date: Wed, 14 Aug 2019 08:36:21 -0700
Subject: [PATCH] Refine service reference warnings and errors - #12792 -
client: - add error if OpenAPI file does not exist - separate unsupported
TFM case from targets being called when disabled - server: - generalize
multi-targeting handling in Microsoft.Extensions.ApiDescription.Server -
add `$(_OpenApiGenerateDocumentsTFM)`, the TFM used when invoking inner build
- default `$(OpenApiGenerateDocuments)` to 'true' only when a supported
TFM exists - add separate error for non-existent cache file in
`OpenApiGetDocuments` target - add error in `GetDocumentInsider` if no
documents are found - make `` in the targets file an `` - add more text to existing `ServiceNotFound` error - both: - write
errors to `stderr` - clean up top-level output for `Exception`s - stop
writing the `Message` twice
* Correct "Open API" mentions; should be "OpenAPI"
- change package tags and comments
* Add service reference projects to MvcNoDeps.slnf
nits:
- add "service reference" tag in Microsoft.Extensions.ApiDescription.* packages
- add "document generation" tag in Microsoft.Extensions.ApiDescription.Server package
- `.Trim()` TFM properties because `;netcoreapp3.0;;` is allowed
- don't use bold black for verbose messages
- reorder MSBuild property settings for readability
---
...ft.Extensions.ApiDescription.Client.csproj | 2 +-
...oft.Extensions.ApiDescription.Client.props | 4 +-
...t.Extensions.ApiDescription.Client.targets | 2 +
...ft.Extensions.ApiDescription.Server.csproj | 2 +-
...oft.Extensions.ApiDescription.Server.props | 8 +-
...t.Extensions.ApiDescription.Server.targets | 42 ++++--
...t.Extensions.ApiDescription.Server.targets | 38 ++---
.../src/Commands/GetDocumentCommandWorker.cs | 9 +-
src/Mvc/GetDocumentInsider/src/Program.cs | 6 +-
src/Mvc/GetDocumentInsider/src/Reporter.cs | 13 +-
src/Mvc/GetDocumentInsider/src/Resources.resx | 7 +-
src/Mvc/MvcNoDeps.slnf | 134 +++++++++---------
src/Mvc/dotnet-getdocument/src/Program.cs | 6 +-
13 files changed, 151 insertions(+), 122 deletions(-)
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj b/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj
index 7abe5134b761..d10a2aabaeec 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj
@@ -7,7 +7,7 @@
false
$(MSBuildProjectName).nuspec
$(MSBuildProjectName)
- Build Tasks;MSBuild;Swagger;Open API;code generation; Web API client
+ Build Tasks;MSBuild;Swagger;OpenAPI;code generation;Web API client;service reference
true
netstandard2.0;net461
true
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props b/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props
index 1212cc91fbf3..52a8052da182 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props
@@ -39,7 +39,7 @@
@@ -47,7 +47,7 @@
Condition="'$(OpenApiBuildReferencedProjects)' == ''">true
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets b/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets
index b74e55c5a970..72ced3644855 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets
@@ -87,6 +87,8 @@
Condition="$(OpenApiGenerateCodeAtDesignTime) OR ('$(DesignTimeBuild)' != 'true' AND '$(BuildingProject)' == 'true')"
Inputs="@(OpenApiReference)"
Outputs="%(OutputPath)">
+
+
false
$(MSBuildProjectName).nuspec
$(MSBuildProjectName)
- MSBuild;Swagger;Open API;code generation;Web API
+ MSBuild;Swagger;OpenAPI;code generation;Web API;service reference;document generation
true
true
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props b/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props
index 4651488ae29d..cef30558147a 100644
--- a/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props
+++ b/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props
@@ -5,13 +5,13 @@
-->
+ true
false
- true
+ Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND '$(TargetFrameworkVersion.TrimStart("vV"))' < '2.1' " />
+
+
+ $(OpenApiGenerateDocuments)
<_OpenApiDocumentsCache>$(BaseIntermediateOutputPath)$(MSBuildProjectName).OpenApiFiles.cache
- $(OpenApiGenerateDocuments)
@@ -16,23 +17,34 @@
-
+
+
+
+
+
+
-
+
+
-
-
+
+
+
+
+
<_Command>dotnet "$(MSBuildThisFileDirectory)/../tools/dotnet-getdocument.dll" --assembly "$(TargetPath)"
@@ -47,7 +59,7 @@
-
+
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets b/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets
index af55c662ce46..58d86d73f097 100644
--- a/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets
+++ b/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets
@@ -1,9 +1,25 @@
+
+ <_OpenApiGenerateDocumentsTFMs Remove="@(_OpenApiGenerateDocumentsTFMs)" />
+ <_OpenApiGenerateDocumentsTFMs Include="$(TargetFrameworks)" Exclude="netcoreapp1.0;netcoreapp1.1;netcoreapp2.0" />
+
+
- true
+
+ <_OpenApiGenerateDocumentsTFM>$(TargetFrameworks.Trim(';').Split(';')[0])
+
+
+ <_Temporary>$(@(_OpenApiGenerateDocumentsTFMs).Trim(';'))
+ <_OpenApiGenerateDocumentsTFM
+ Condition=" '$(_Temporary)' != '' ">$(_Temporary.Split(';')[0])
+
+ true
$(OpenApiGenerateDocuments)
+
+ <_Temporary />
@@ -13,7 +29,7 @@
@@ -23,27 +39,11 @@
DependsOnTargets="GenerateOpenApiDocuments" />
-
- <_Temporary Remove="@(_Temporary)" />
- <_Temporary Include="$(TargetFrameworks)" Exclude="netcoreapp1.0;netcoreapp1.1;netcoreapp2.0" />
-
-
- <_Temporary>@(_Temporary)
-
-
-
-
- <_Temporary Remove="@(_Temporary)" />
-
-
- <_Temporary />
-
diff --git a/src/Mvc/GetDocumentInsider/src/Commands/GetDocumentCommandWorker.cs b/src/Mvc/GetDocumentInsider/src/Commands/GetDocumentCommandWorker.cs
index 2f9a61def0ea..6ad658888225 100644
--- a/src/Mvc/GetDocumentInsider/src/Commands/GetDocumentCommandWorker.cs
+++ b/src/Mvc/GetDocumentInsider/src/Commands/GetDocumentCommandWorker.cs
@@ -137,6 +137,7 @@ private static bool GetDocuments(GetDocumentCommandContext context, IServiceProv
}
// Write out the documents.
+ var found = false;
Directory.CreateDirectory(context.OutputDirectory);
var filePathList = new List();
foreach (var documentName in documentNames)
@@ -153,6 +154,7 @@ private static bool GetDocuments(GetDocumentCommandContext context, IServiceProv
}
filePathList.Add(filePath);
+ found = true;
}
// Write out the cache file.
@@ -160,7 +162,12 @@ private static bool GetDocuments(GetDocumentCommandContext context, IServiceProv
using var writer = new StreamWriter(stream);
writer.WriteLine(string.Join(Environment.NewLine, filePathList));
- return true;
+ if (!found)
+ {
+ Reporter.WriteError(Resources.DocumentsNotFound);
+ }
+
+ return found;
}
private static string GetDocument(
diff --git a/src/Mvc/GetDocumentInsider/src/Program.cs b/src/Mvc/GetDocumentInsider/src/Program.cs
index 8f39235b70ab..b83e9b0d8dac 100644
--- a/src/Mvc/GetDocumentInsider/src/Program.cs
+++ b/src/Mvc/GetDocumentInsider/src/Program.cs
@@ -33,15 +33,13 @@ private static int Main(string[] args)
{
if (ex is CommandException || ex is CommandParsingException)
{
- Reporter.WriteVerbose(ex.ToString());
+ Reporter.WriteError(ex.Message);
}
else
{
- Reporter.WriteInformation(ex.ToString());
+ Reporter.WriteError(ex.ToString());
}
- Reporter.WriteError(ex.Message);
-
return 1;
}
}
diff --git a/src/Mvc/GetDocumentInsider/src/Reporter.cs b/src/Mvc/GetDocumentInsider/src/Reporter.cs
index 9a589fcc67a8..e0b9aa62fe65 100644
--- a/src/Mvc/GetDocumentInsider/src/Reporter.cs
+++ b/src/Mvc/GetDocumentInsider/src/Reporter.cs
@@ -9,6 +9,9 @@ namespace Microsoft.Extensions.ApiDescription.Tool
{
internal static class Reporter
{
+ private static AnsiTextWriter Error = new AnsiTextWriter(Console.Error);
+ private static AnsiTextWriter Out = new AnsiTextWriter(Console.Out);
+
public static bool IsVerbose { get; set; }
public static bool NoColor { get; set; }
public static bool PrefixOutput { get; set; }
@@ -17,7 +20,7 @@ public static string Colorize(string value, Func colorizeFunc)
=> NoColor ? value : colorizeFunc(value);
public static void WriteError(string message)
- => WriteLine(Prefix("error: ", Colorize(message, x => Bold + Red + x + Reset)));
+ => WriteLine(Prefix("error: ", Colorize(message, x => Bold + Red + x + Reset)), isError: true);
public static void WriteWarning(string message)
=> WriteLine(Prefix("warn: ", Colorize(message, x => Bold + Yellow + x + Reset)));
@@ -32,7 +35,7 @@ public static void WriteVerbose(string message)
{
if (IsVerbose)
{
- WriteLine(Prefix("verbose: ", Colorize(message, x => Bold + Black + x + Reset)));
+ WriteLine(Prefix("verbose: ", Colorize(message, x => Gray + x + Reset)));
}
}
@@ -43,15 +46,15 @@ private static string Prefix(string prefix, string value)
value.Split(new[] { Environment.NewLine }, StringSplitOptions.None).Select(l => prefix + l))
: value;
- private static void WriteLine(string value)
+ private static void WriteLine(string value, bool isError = false)
{
if (NoColor)
{
- Console.WriteLine(value);
+ (isError ? Console.Error : Console.Out).WriteLine(value);
}
else
{
- AnsiConsole.WriteLine(value);
+ (isError ? Error : Out).WriteLine(value);
}
}
}
diff --git a/src/Mvc/GetDocumentInsider/src/Resources.resx b/src/Mvc/GetDocumentInsider/src/Resources.resx
index a27b1be2b00b..63fe310c9a54 100644
--- a/src/Mvc/GetDocumentInsider/src/Resources.resx
+++ b/src/Mvc/GetDocumentInsider/src/Resources.resx
@@ -151,7 +151,8 @@
Method '{0}' not found in type '{1}' with expected signature.
- Unable to find service type '{0}' in dependency injection container.
+ Unable to find service type '{0}' in dependency injection container. Update the 'Startup' class to register a document.
+ Do not translate 'Startup'
Method '{0}' of type '{1}' returned null. Must return a non-null '{2}'.
@@ -186,4 +187,8 @@
Unable to resolve a non-null '{0}' implementation using method '{1}', '{2}' or '{3}' of type '{4}'.
+
+ Unable to find any registered documents. Update the 'Startup' class to register a document.
+ Do not translate 'Startup'
+
\ No newline at end of file
diff --git a/src/Mvc/MvcNoDeps.slnf b/src/Mvc/MvcNoDeps.slnf
index 893051ba9ce7..f7496a4dc17e 100644
--- a/src/Mvc/MvcNoDeps.slnf
+++ b/src/Mvc/MvcNoDeps.slnf
@@ -2,70 +2,74 @@
"solution": {
"path": "Mvc.sln",
"projects": [
- "test\\WebSites\\BasicWebSite\\BasicWebSite.csproj",
- "test\\WebSites\\RoutingWebSite\\Mvc.RoutingWebSite.csproj",
- "test\\WebSites\\RazorWebSite\\RazorWebSite.csproj",
- "test\\WebSites\\FormatterWebSite\\FormatterWebSite.csproj",
- "test\\WebSites\\ApiExplorerWebSite\\ApiExplorerWebSite.csproj",
- "test\\WebSites\\VersioningWebSite\\VersioningWebSite.csproj",
- "test\\WebSites\\TagHelpersWebSite\\TagHelpersWebSite.csproj",
- "test\\WebSites\\FilesWebSite\\FilesWebSite.csproj",
- "test\\WebSites\\ApplicationModelWebSite\\ApplicationModelWebSite.csproj",
- "test\\WebSites\\HtmlGenerationWebSite\\HtmlGenerationWebSite.csproj",
- "test\\WebSites\\ErrorPageMiddlewareWebSite\\ErrorPageMiddlewareWebSite.csproj",
- "test\\WebSites\\XmlFormattersWebSite\\XmlFormattersWebSite.csproj",
- "test\\WebSites\\ControllersFromServicesWebSite\\ControllersFromServicesWebSite.csproj",
- "test\\WebSites\\ControllersFromServicesClassLibrary\\ControllersFromServicesClassLibrary.csproj",
- "test\\WebSites\\CorsWebSite\\CorsWebSite.csproj",
- "samples\\MvcSandbox\\MvcSandbox.csproj",
- "test\\WebSites\\SimpleWebSite\\SimpleWebSite.csproj",
- "test\\WebSites\\SecurityWebSite\\SecurityWebSite.csproj",
- "test\\WebSites\\RazorPagesWebSite\\RazorPagesWebSite.csproj",
- "benchmarks\\Microsoft.AspNetCore.Mvc.Performance\\Microsoft.AspNetCore.Mvc.Performance.csproj",
- "test\\WebSites\\RazorBuildWebSite\\RazorBuildWebSite.csproj",
- "test\\WebSites\\RazorBuildWebSite.Views\\RazorBuildWebSite.Views.csproj",
- "Mvc.Analyzers\\src\\Microsoft.AspNetCore.Mvc.Analyzers.csproj",
- "Mvc.Analyzers\\test\\Mvc.Analyzers.Test.csproj",
- "test\\WebSites\\RazorPagesClassLibrary\\RazorPagesClassLibrary.csproj",
- "shared\\Mvc.Views.TestCommon\\Microsoft.AspNetCore.Mvc.Views.TestCommon.csproj",
- "Mvc.Api.Analyzers\\test\\Mvc.Api.Analyzers.Test.csproj",
- "Mvc.Api.Analyzers\\src\\Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj",
- "test\\WebSites\\GenericHostWebSite\\GenericHostWebSite.csproj",
- "Mvc\\src\\Microsoft.AspNetCore.Mvc.csproj",
- "Mvc\\test\\Microsoft.AspNetCore.Mvc.Test.csproj",
- "Mvc.Abstractions\\src\\Microsoft.AspNetCore.Mvc.Abstractions.csproj",
- "Mvc.Abstractions\\test\\Microsoft.AspNetCore.Mvc.Abstractions.Test.csproj",
- "Mvc.ApiExplorer\\src\\Microsoft.AspNetCore.Mvc.ApiExplorer.csproj",
- "Mvc.ApiExplorer\\test\\Microsoft.AspNetCore.Mvc.ApiExplorer.Test.csproj",
- "Mvc.Core\\src\\Microsoft.AspNetCore.Mvc.Core.csproj",
- "Mvc.Core\\test\\Microsoft.AspNetCore.Mvc.Core.Test.csproj",
- "Mvc.Cors\\src\\Microsoft.AspNetCore.Mvc.Cors.csproj",
- "Mvc.Cors\\test\\Microsoft.AspNetCore.Mvc.Cors.Test.csproj",
- "Mvc.DataAnnotations\\src\\Microsoft.AspNetCore.Mvc.DataAnnotations.csproj",
- "Mvc.DataAnnotations\\test\\Microsoft.AspNetCore.Mvc.DataAnnotations.Test.csproj",
- "Mvc.Formatters.Json\\src\\Microsoft.AspNetCore.Mvc.Formatters.Json.csproj",
- "Mvc.Formatters.Xml\\src\\Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj",
- "Mvc.Formatters.Xml\\test\\Microsoft.AspNetCore.Mvc.Formatters.Xml.Test.csproj",
- "Mvc.Localization\\src\\Microsoft.AspNetCore.Mvc.Localization.csproj",
- "Mvc.Localization\\test\\Microsoft.AspNetCore.Mvc.Localization.Test.csproj",
- "Mvc.Razor\\src\\Microsoft.AspNetCore.Mvc.Razor.csproj",
- "Mvc.Razor\\test\\Microsoft.AspNetCore.Mvc.Razor.Test.csproj",
- "Mvc.RazorPages\\src\\Microsoft.AspNetCore.Mvc.RazorPages.csproj",
- "Mvc.RazorPages\\test\\Microsoft.AspNetCore.Mvc.RazorPages.Test.csproj",
- "Mvc.TagHelpers\\src\\Microsoft.AspNetCore.Mvc.TagHelpers.csproj",
- "Mvc.TagHelpers\\test\\Microsoft.AspNetCore.Mvc.TagHelpers.Test.csproj",
- "Mvc.ViewFeatures\\src\\Microsoft.AspNetCore.Mvc.ViewFeatures.csproj",
- "Mvc.ViewFeatures\\test\\Microsoft.AspNetCore.Mvc.ViewFeatures.Test.csproj",
- "test\\Mvc.FunctionalTests\\Microsoft.AspNetCore.Mvc.FunctionalTests.csproj",
- "test\\Mvc.IntegrationTests\\Microsoft.AspNetCore.Mvc.IntegrationTests.csproj",
- "shared\\Mvc.TestDiagnosticListener\\Microsoft.AspNetCore.Mvc.TestDiagnosticListener.csproj",
- "Mvc.Testing\\src\\Microsoft.AspNetCore.Mvc.Testing.csproj",
- "shared\\Mvc.Core.TestCommon\\Microsoft.AspNetCore.Mvc.Core.TestCommon.csproj",
- "Mvc.NewtonsoftJson\\src\\Microsoft.AspNetCore.Mvc.NewtonsoftJson.csproj",
- "Mvc.NewtonsoftJson\\test\\Microsoft.AspNetCore.Mvc.NewtonsoftJson.Test.csproj",
- "Mvc.Razor.RuntimeCompilation\\src\\Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.csproj",
- "Mvc.Razor.RuntimeCompilation\\test\\Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.Test.csproj",
- "test\\WebSites\\RazorBuildWebSite.PrecompiledViews\\RazorBuildWebSite.PrecompiledViews.csproj"
+ "Extensions.ApiDescription.Client\\src\\Microsoft.Extensions.ApiDescription.Client.csproj",
+ "Extensions.ApiDescription.Server\\src\\Microsoft.Extensions.ApiDescription.Server.csproj",
+ "GetDocumentInsider\\src\\GetDocumentInsider.csproj",
+ "Mvc.Abstractions\\src\\Microsoft.AspNetCore.Mvc.Abstractions.csproj",
+ "Mvc.Abstractions\\test\\Microsoft.AspNetCore.Mvc.Abstractions.Test.csproj",
+ "Mvc.Analyzers\\src\\Microsoft.AspNetCore.Mvc.Analyzers.csproj",
+ "Mvc.Analyzers\\test\\Mvc.Analyzers.Test.csproj",
+ "Mvc.Api.Analyzers\\src\\Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj",
+ "Mvc.Api.Analyzers\\test\\Mvc.Api.Analyzers.Test.csproj",
+ "Mvc.ApiExplorer\\src\\Microsoft.AspNetCore.Mvc.ApiExplorer.csproj",
+ "Mvc.ApiExplorer\\test\\Microsoft.AspNetCore.Mvc.ApiExplorer.Test.csproj",
+ "Mvc.Core\\src\\Microsoft.AspNetCore.Mvc.Core.csproj",
+ "Mvc.Core\\test\\Microsoft.AspNetCore.Mvc.Core.Test.csproj",
+ "Mvc.Cors\\src\\Microsoft.AspNetCore.Mvc.Cors.csproj",
+ "Mvc.Cors\\test\\Microsoft.AspNetCore.Mvc.Cors.Test.csproj",
+ "Mvc.DataAnnotations\\src\\Microsoft.AspNetCore.Mvc.DataAnnotations.csproj",
+ "Mvc.DataAnnotations\\test\\Microsoft.AspNetCore.Mvc.DataAnnotations.Test.csproj",
+ "Mvc.Formatters.Json\\src\\Microsoft.AspNetCore.Mvc.Formatters.Json.csproj",
+ "Mvc.Formatters.Xml\\src\\Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj",
+ "Mvc.Formatters.Xml\\test\\Microsoft.AspNetCore.Mvc.Formatters.Xml.Test.csproj",
+ "Mvc.Localization\\src\\Microsoft.AspNetCore.Mvc.Localization.csproj",
+ "Mvc.Localization\\test\\Microsoft.AspNetCore.Mvc.Localization.Test.csproj",
+ "Mvc.NewtonsoftJson\\src\\Microsoft.AspNetCore.Mvc.NewtonsoftJson.csproj",
+ "Mvc.NewtonsoftJson\\test\\Microsoft.AspNetCore.Mvc.NewtonsoftJson.Test.csproj",
+ "Mvc.Razor.RuntimeCompilation\\src\\Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.csproj",
+ "Mvc.Razor.RuntimeCompilation\\test\\Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.Test.csproj",
+ "Mvc.RazorPages\\src\\Microsoft.AspNetCore.Mvc.RazorPages.csproj",
+ "Mvc.RazorPages\\test\\Microsoft.AspNetCore.Mvc.RazorPages.Test.csproj",
+ "Mvc.Razor\\src\\Microsoft.AspNetCore.Mvc.Razor.csproj",
+ "Mvc.Razor\\test\\Microsoft.AspNetCore.Mvc.Razor.Test.csproj",
+ "Mvc.TagHelpers\\src\\Microsoft.AspNetCore.Mvc.TagHelpers.csproj",
+ "Mvc.TagHelpers\\test\\Microsoft.AspNetCore.Mvc.TagHelpers.Test.csproj",
+ "Mvc.Testing\\src\\Microsoft.AspNetCore.Mvc.Testing.csproj",
+ "Mvc.ViewFeatures\\src\\Microsoft.AspNetCore.Mvc.ViewFeatures.csproj",
+ "Mvc.ViewFeatures\\test\\Microsoft.AspNetCore.Mvc.ViewFeatures.Test.csproj",
+ "Mvc\\src\\Microsoft.AspNetCore.Mvc.csproj",
+ "Mvc\\test\\Microsoft.AspNetCore.Mvc.Test.csproj",
+ "benchmarks\\Microsoft.AspNetCore.Mvc.Performance\\Microsoft.AspNetCore.Mvc.Performance.csproj",
+ "dotnet-getdocument\\src\\dotnet-getdocument.csproj",
+ "samples\\MvcSandbox\\MvcSandbox.csproj",
+ "shared\\Mvc.Core.TestCommon\\Microsoft.AspNetCore.Mvc.Core.TestCommon.csproj",
+ "shared\\Mvc.TestDiagnosticListener\\Microsoft.AspNetCore.Mvc.TestDiagnosticListener.csproj",
+ "shared\\Mvc.Views.TestCommon\\Microsoft.AspNetCore.Mvc.Views.TestCommon.csproj",
+ "test\\Mvc.FunctionalTests\\Microsoft.AspNetCore.Mvc.FunctionalTests.csproj",
+ "test\\Mvc.IntegrationTests\\Microsoft.AspNetCore.Mvc.IntegrationTests.csproj",
+ "test\\WebSites\\ApiExplorerWebSite\\ApiExplorerWebSite.csproj",
+ "test\\WebSites\\ApplicationModelWebSite\\ApplicationModelWebSite.csproj",
+ "test\\WebSites\\BasicWebSite\\BasicWebSite.csproj",
+ "test\\WebSites\\ControllersFromServicesClassLibrary\\ControllersFromServicesClassLibrary.csproj",
+ "test\\WebSites\\ControllersFromServicesWebSite\\ControllersFromServicesWebSite.csproj",
+ "test\\WebSites\\CorsWebSite\\CorsWebSite.csproj",
+ "test\\WebSites\\ErrorPageMiddlewareWebSite\\ErrorPageMiddlewareWebSite.csproj",
+ "test\\WebSites\\FilesWebSite\\FilesWebSite.csproj",
+ "test\\WebSites\\FormatterWebSite\\FormatterWebSite.csproj",
+ "test\\WebSites\\GenericHostWebSite\\GenericHostWebSite.csproj",
+ "test\\WebSites\\HtmlGenerationWebSite\\HtmlGenerationWebSite.csproj",
+ "test\\WebSites\\RazorBuildWebSite.PrecompiledViews\\RazorBuildWebSite.PrecompiledViews.csproj",
+ "test\\WebSites\\RazorBuildWebSite.Views\\RazorBuildWebSite.Views.csproj",
+ "test\\WebSites\\RazorBuildWebSite\\RazorBuildWebSite.csproj",
+ "test\\WebSites\\RazorPagesClassLibrary\\RazorPagesClassLibrary.csproj",
+ "test\\WebSites\\RazorPagesWebSite\\RazorPagesWebSite.csproj",
+ "test\\WebSites\\RazorWebSite\\RazorWebSite.csproj",
+ "test\\WebSites\\RoutingWebSite\\Mvc.RoutingWebSite.csproj",
+ "test\\WebSites\\SecurityWebSite\\SecurityWebSite.csproj",
+ "test\\WebSites\\SimpleWebSite\\SimpleWebSite.csproj",
+ "test\\WebSites\\TagHelpersWebSite\\TagHelpersWebSite.csproj",
+ "test\\WebSites\\VersioningWebSite\\VersioningWebSite.csproj",
+ "test\\WebSites\\XmlFormattersWebSite\\XmlFormattersWebSite.csproj"
]
}
-}
+}
\ No newline at end of file
diff --git a/src/Mvc/dotnet-getdocument/src/Program.cs b/src/Mvc/dotnet-getdocument/src/Program.cs
index cef1648689de..58502ce5b880 100644
--- a/src/Mvc/dotnet-getdocument/src/Program.cs
+++ b/src/Mvc/dotnet-getdocument/src/Program.cs
@@ -27,15 +27,13 @@ private static int Main(string[] args)
{
if (ex is CommandException || ex is CommandParsingException)
{
- Reporter.WriteVerbose(ex.ToString());
+ Reporter.WriteError(ex.Message);
}
else
{
- Reporter.WriteInformation(ex.ToString());
+ Reporter.WriteError(ex.ToString());
}
- Reporter.WriteError(ex.Message);
-
return 1;
}
}