diff --git a/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.netcoreapp3.0.cs b/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.netcoreapp3.0.cs
index 5f2373b098..d8908e8bae 100644
--- a/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.netcoreapp3.0.cs
+++ b/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.netcoreapp3.0.cs
@@ -221,10 +221,15 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
[Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("img", Attributes="asp-append-version,src", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)]
public partial class ImageTagHelper : Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper
{
+ [System.ObsoleteAttribute("This constructor is obsolete and will be removed in a future version.")]
public ImageTagHelper(Microsoft.AspNetCore.Hosting.IWebHostEnvironment hostingEnvironment, Microsoft.AspNetCore.Mvc.Razor.Infrastructure.TagHelperMemoryCacheProvider cacheProvider, Microsoft.AspNetCore.Mvc.ViewFeatures.IFileVersionProvider fileVersionProvider, System.Text.Encodings.Web.HtmlEncoder htmlEncoder, Microsoft.AspNetCore.Mvc.Routing.IUrlHelperFactory urlHelperFactory) : base (default(Microsoft.AspNetCore.Mvc.Routing.IUrlHelperFactory), default(System.Text.Encodings.Web.HtmlEncoder)) { }
+ [Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesConstructorAttribute]
+ public ImageTagHelper(Microsoft.AspNetCore.Mvc.ViewFeatures.IFileVersionProvider fileVersionProvider, System.Text.Encodings.Web.HtmlEncoder htmlEncoder, Microsoft.AspNetCore.Mvc.Routing.IUrlHelperFactory urlHelperFactory) : base (default(Microsoft.AspNetCore.Mvc.Routing.IUrlHelperFactory), default(System.Text.Encodings.Web.HtmlEncoder)) { }
[Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeNameAttribute("asp-append-version")]
public bool AppendVersion { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ [System.ObsoleteAttribute("This property is obsolete and will be removed in a future version.")]
protected internal Microsoft.Extensions.Caching.Memory.IMemoryCache Cache { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
+ [System.ObsoleteAttribute("This property is obsolete and will be removed in a future version.")]
protected internal Microsoft.AspNetCore.Hosting.IWebHostEnvironment HostingEnvironment { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
public override int Order { get { throw null; } }
[Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeNameAttribute("src")]
diff --git a/src/Mvc/Mvc.TagHelpers/src/AnchorTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/AnchorTagHelper.cs
index 5eefa99543..0e215b72cf 100644
--- a/src/Mvc/Mvc.TagHelpers/src/AnchorTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/AnchorTagHelper.cs
@@ -52,6 +52,9 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public override int Order => -1000;
+ ///
+ /// Gets the used to generate the 's output.
+ ///
protected IHtmlGenerator Generator { get; }
///
diff --git a/src/Mvc/Mvc.TagHelpers/src/Cache/DistributedCacheTagHelperService.cs b/src/Mvc/Mvc.TagHelpers/src/Cache/DistributedCacheTagHelperService.cs
index 88c4e0332c..167f30b484 100644
--- a/src/Mvc/Mvc.TagHelpers/src/Cache/DistributedCacheTagHelperService.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/Cache/DistributedCacheTagHelperService.cs
@@ -39,6 +39,13 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers.Cache
private readonly ILogger _logger;
private readonly ConcurrentDictionary> _workers;
+ ///
+ /// Creates a new .
+ ///
+ /// The 's .
+ /// The for cache value serialization.
+ /// The used to encode cache content.
+ /// The .
public DistributedCacheTagHelperService(
IDistributedCacheTagHelperStorage storage,
IDistributedCacheTagHelperFormatter formatter,
diff --git a/src/Mvc/Mvc.TagHelpers/src/CacheTagHelperMemoryCacheFactory.cs b/src/Mvc/Mvc.TagHelpers/src/CacheTagHelperMemoryCacheFactory.cs
index 6b1ac41fb8..1bd126087d 100644
--- a/src/Mvc/Mvc.TagHelpers/src/CacheTagHelperMemoryCacheFactory.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/CacheTagHelperMemoryCacheFactory.cs
@@ -6,8 +6,16 @@ using Microsoft.Extensions.Options;
namespace Microsoft.AspNetCore.Mvc.TagHelpers
{
+ ///
+ /// A factory for s configured using .
+ /// uses this factory to set its .
+ ///
public class CacheTagHelperMemoryCacheFactory
{
+ ///
+ /// Creates a new .
+ ///
+ /// The to apply to the .
public CacheTagHelperMemoryCacheFactory(IOptions options)
{
Cache = new MemoryCache(new MemoryCacheOptions
@@ -22,6 +30,9 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
Cache = cache;
}
+ ///
+ /// Gets the .
+ ///
public IMemoryCache Cache { get; }
}
}
diff --git a/src/Mvc/Mvc.TagHelpers/src/EnvironmentTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/EnvironmentTagHelper.cs
index 1c96aec479..b715c4db24 100644
--- a/src/Mvc/Mvc.TagHelpers/src/EnvironmentTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/EnvironmentTagHelper.cs
@@ -59,6 +59,9 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public string Exclude { get; set; }
+ ///
+ /// Gets the for the application.
+ ///
protected IWebHostEnvironment HostingEnvironment { get; }
///
diff --git a/src/Mvc/Mvc.TagHelpers/src/FormActionTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/FormActionTagHelper.cs
index 66d22ea10c..7e42106f0f 100644
--- a/src/Mvc/Mvc.TagHelpers/src/FormActionTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/FormActionTagHelper.cs
@@ -98,6 +98,9 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
[ViewContext]
public ViewContext ViewContext { get; set; }
+ ///
+ /// Gets the used to create an to generate links.
+ ///
protected IUrlHelperFactory UrlHelperFactory { get; }
///
diff --git a/src/Mvc/Mvc.TagHelpers/src/FormTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/FormTagHelper.cs
index ad10121751..ad33eb254a 100644
--- a/src/Mvc/Mvc.TagHelpers/src/FormTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/FormTagHelper.cs
@@ -45,10 +45,16 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public override int Order => -1000;
+ ///
+ /// Gets the of the executing view.
+ ///
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
+ ///
+ /// Gets the used to generate the 's output.
+ ///
protected IHtmlGenerator Generator { get; }
///
diff --git a/src/Mvc/Mvc.TagHelpers/src/ImageTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/ImageTagHelper.cs
index 2b60c637e9..ce3452ed18 100644
--- a/src/Mvc/Mvc.TagHelpers/src/ImageTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/ImageTagHelper.cs
@@ -32,13 +32,31 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
/// Creates a new .
///
- /// The .
- /// The .
/// The .
/// The to use.
/// The .
// Decorated with ActivatorUtilitiesConstructor since we want to influence tag helper activation
// to use this constructor in the default case.
+ [ActivatorUtilitiesConstructor]
+ public ImageTagHelper(
+ IFileVersionProvider fileVersionProvider,
+ HtmlEncoder htmlEncoder,
+ IUrlHelperFactory urlHelperFactory)
+ : base(urlHelperFactory, htmlEncoder)
+ {
+ FileVersionProvider = fileVersionProvider;
+ }
+
+ ///
+ /// Creates a new .
+ /// This constructor is obsolete and will be removed in a future version.
+ ///
+ /// The .
+ /// The .
+ /// The .
+ /// The to use.
+ /// The .
+ [Obsolete("This constructor is obsolete and will be removed in a future version.")]
public ImageTagHelper(
IWebHostEnvironment hostingEnvironment,
TagHelperMemoryCacheProvider cacheProvider,
@@ -73,8 +91,18 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
[HtmlAttributeName(AppendVersionAttributeName)]
public bool AppendVersion { get; set; }
+ ///
+ /// Gets the for the application.
+ /// This property is obsolete and will be removed in a future version.
+ ///
+ [Obsolete("This property is obsolete and will be removed in a future version.")]
protected internal IWebHostEnvironment HostingEnvironment { get; }
+ ///
+ /// Gets the used to store globbed urls.
+ /// This property is obsolete and will be removed in a future version.
+ ///
+ [Obsolete("This property is obsolete and will be removed in a future version.")]
protected internal IMemoryCache Cache { get; }
internal IFileVersionProvider FileVersionProvider { get; private set; }
diff --git a/src/Mvc/Mvc.TagHelpers/src/InputTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/InputTagHelper.cs
index 16e7950dba..d3df4d963d 100644
--- a/src/Mvc/Mvc.TagHelpers/src/InputTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/InputTagHelper.cs
@@ -76,8 +76,14 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public override int Order => -1000;
+ ///
+ /// Gets the used to generate the 's output.
+ ///
protected IHtmlGenerator Generator { get; }
+ ///
+ /// Gets the of the executing view.
+ ///
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
diff --git a/src/Mvc/Mvc.TagHelpers/src/LabelTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/LabelTagHelper.cs
index b0668eed68..aebfe3da2e 100644
--- a/src/Mvc/Mvc.TagHelpers/src/LabelTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/LabelTagHelper.cs
@@ -29,10 +29,16 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public override int Order => -1000;
+ ///
+ /// Gets the of the executing view.
+ ///
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
+ ///
+ /// Gets the used to generate the 's output.
+ ///
protected IHtmlGenerator Generator { get; }
///
diff --git a/src/Mvc/Mvc.TagHelpers/src/LinkTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/LinkTagHelper.cs
index 4bd68aea49..ac090a14cf 100644
--- a/src/Mvc/Mvc.TagHelpers/src/LinkTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/LinkTagHelper.cs
@@ -210,12 +210,24 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
[HtmlAttributeName(FallbackTestValueAttributeName)]
public string FallbackTestValue { get; set; }
+ ///
+ /// Gets the for the application.
+ ///
protected internal IWebHostEnvironment HostingEnvironment { get; }
+ ///
+ /// Gets the used to store globbed urls.
+ ///
protected internal IMemoryCache Cache { get; }
+ ///
+ /// Gets the used to encode fallback information.
+ ///
protected JavaScriptEncoder JavaScriptEncoder { get; }
+ ///
+ /// Gets the used to populate included and excluded urls.
+ ///
// Internal for ease of use when testing.
protected internal GlobbingUrlBuilder GlobbingUrlBuilder { get; set; }
diff --git a/src/Mvc/Mvc.TagHelpers/src/Microsoft.AspNetCore.Mvc.TagHelpers.csproj b/src/Mvc/Mvc.TagHelpers/src/Microsoft.AspNetCore.Mvc.TagHelpers.csproj
index 1ab0b5c30a..494bda2166 100644
--- a/src/Mvc/Mvc.TagHelpers/src/Microsoft.AspNetCore.Mvc.TagHelpers.csproj
+++ b/src/Mvc/Mvc.TagHelpers/src/Microsoft.AspNetCore.Mvc.TagHelpers.csproj
@@ -3,7 +3,6 @@
ASP.NET Core MVC default tag helpers. Contains tag helpers for anchor tags, HTML input elements, caching, scripts, links (for CSS), and more.
netcoreapp3.0
- $(NoWarn);CS1591
true
aspnetcore;aspnetcoremvc;taghelper;taghelpers
true
diff --git a/src/Mvc/Mvc.TagHelpers/src/OptionTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/OptionTagHelper.cs
index 3cfaf3bb4c..1d8ac35550 100644
--- a/src/Mvc/Mvc.TagHelpers/src/OptionTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/OptionTagHelper.cs
@@ -32,8 +32,14 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public override int Order => -1000;
+ ///
+ /// Gets the used to generate the 's output.
+ ///
protected IHtmlGenerator Generator { get; }
+ ///
+ /// Gets the of the executing view.
+ ///
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
diff --git a/src/Mvc/Mvc.TagHelpers/src/PartialTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/PartialTagHelper.cs
index 3797ea5ff1..01ab2aabc3 100644
--- a/src/Mvc/Mvc.TagHelpers/src/PartialTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/PartialTagHelper.cs
@@ -32,6 +32,11 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
private readonly ICompositeViewEngine _viewEngine;
private readonly IViewBufferScope _viewBufferScope;
+ ///
+ /// Creates a new .
+ ///
+ /// The used to locate the partial view.
+ /// The .
public PartialTagHelper(
ICompositeViewEngine viewEngine,
IViewBufferScope viewBufferScope)
@@ -91,6 +96,9 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public ViewDataDictionary ViewData { get; set; }
+ ///
+ /// Gets the of the executing view.
+ ///
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
diff --git a/src/Mvc/Mvc.TagHelpers/src/RenderAtEndOfFormTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/RenderAtEndOfFormTagHelper.cs
index c819a38c98..193639bec3 100644
--- a/src/Mvc/Mvc.TagHelpers/src/RenderAtEndOfFormTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/RenderAtEndOfFormTagHelper.cs
@@ -23,6 +23,9 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public override int Order => -900;
+ ///
+ /// Gets the of the executing view.
+ ///
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
diff --git a/src/Mvc/Mvc.TagHelpers/src/ScriptTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/ScriptTagHelper.cs
index 629d2a9f37..27cc753dd2 100644
--- a/src/Mvc/Mvc.TagHelpers/src/ScriptTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/ScriptTagHelper.cs
@@ -176,14 +176,26 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
[HtmlAttributeName(FallbackTestExpressionAttributeName)]
public string FallbackTestExpression { get; set; }
+ ///
+ /// Gets the for the application.
+ ///
protected internal IWebHostEnvironment HostingEnvironment { get; }
+ ///
+ /// Gets the used to store globbed urls.
+ ///
protected internal IMemoryCache Cache { get; private set; }
internal IFileVersionProvider FileVersionProvider { get; private set; }
+ ///
+ /// Gets the used to encode fallback information.
+ ///
protected JavaScriptEncoder JavaScriptEncoder { get; }
+ ///
+ /// Gets the used to populate included and excluded urls.
+ ///
// Internal for ease of use when testing.
protected internal GlobbingUrlBuilder GlobbingUrlBuilder { get; set; }
diff --git a/src/Mvc/Mvc.TagHelpers/src/SelectTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/SelectTagHelper.cs
index c3d946bc8d..0212d75eee 100644
--- a/src/Mvc/Mvc.TagHelpers/src/SelectTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/SelectTagHelper.cs
@@ -37,8 +37,14 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public override int Order => -1000;
+ ///
+ /// Gets the used to generate the 's output.
+ ///
protected IHtmlGenerator Generator { get; }
+ ///
+ /// Gets the of the executing view.
+ ///
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
diff --git a/src/Mvc/Mvc.TagHelpers/src/TextAreaTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/TextAreaTagHelper.cs
index 293b60a05a..f57f8ad0e4 100644
--- a/src/Mvc/Mvc.TagHelpers/src/TextAreaTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/TextAreaTagHelper.cs
@@ -29,8 +29,14 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public override int Order => -1000;
+ ///
+ /// Gets the used to generate the 's output.
+ ///
protected IHtmlGenerator Generator { get; }
+ ///
+ /// Gets the of the executing view.
+ ///
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
diff --git a/src/Mvc/Mvc.TagHelpers/src/ValidationMessageTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/ValidationMessageTagHelper.cs
index 85d8d07837..7949148f02 100644
--- a/src/Mvc/Mvc.TagHelpers/src/ValidationMessageTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/ValidationMessageTagHelper.cs
@@ -32,12 +32,21 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public override int Order => -1000;
+ ///
+ /// Gets the of the executing view.
+ ///
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
+ ///
+ /// Gets the used to generate the 's output.
+ ///
protected IHtmlGenerator Generator { get; }
+ ///
+ /// Gets an expression to be evaluated against the current model.
+ ///
[HtmlAttributeName(ValidationForAttributeName)]
public ModelExpression For { get; set; }
diff --git a/src/Mvc/Mvc.TagHelpers/src/ValidationSummaryTagHelper.cs b/src/Mvc/Mvc.TagHelpers/src/ValidationSummaryTagHelper.cs
index ee090b28c6..e5c39fa59a 100644
--- a/src/Mvc/Mvc.TagHelpers/src/ValidationSummaryTagHelper.cs
+++ b/src/Mvc/Mvc.TagHelpers/src/ValidationSummaryTagHelper.cs
@@ -30,10 +30,16 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
///
public override int Order => -1000;
+ ///
+ /// Gets the of the executing view.
+ ///
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
+ ///
+ /// Gets the used to generate the 's output.
+ ///
[HtmlAttributeNotBound]
protected IHtmlGenerator Generator { get; }
diff --git a/src/Mvc/Mvc.TagHelpers/test/DefaultTagHelperActivatorTest.cs b/src/Mvc/Mvc.TagHelpers/test/DefaultTagHelperActivatorTest.cs
index 8688ac1e1f..d0d8aa1455 100644
--- a/src/Mvc/Mvc.TagHelpers/test/DefaultTagHelperActivatorTest.cs
+++ b/src/Mvc/Mvc.TagHelpers/test/DefaultTagHelperActivatorTest.cs
@@ -53,20 +53,6 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Internal
Assert.Same(FileVersionProvider, linkTagHelper.FileVersionProvider);
}
- [Fact]
- public void ImageTagHelper_DoesNotUseMemoryCacheInstanceFromDI()
- {
- // Arrange
- var activator = new DefaultTagHelperActivator(new TypeActivatorCache());
- var viewContext = CreateViewContext();
-
- var imageTagHelper = activator.Create(viewContext);
-
- Assert.Same(CacheProvider.Cache, imageTagHelper.Cache);
- Assert.Same(HostingEnvironment, imageTagHelper.HostingEnvironment);
- Assert.Same(FileVersionProvider, imageTagHelper.FileVersionProvider);
- }
-
private ViewContext CreateViewContext()
{
var services = new ServiceCollection()
diff --git a/src/Mvc/Mvc.TagHelpers/test/ImageTagHelperTest.cs b/src/Mvc/Mvc.TagHelpers/test/ImageTagHelperTest.cs
index 35b012cc95..e31de4ed11 100644
--- a/src/Mvc/Mvc.TagHelpers/test/ImageTagHelperTest.cs
+++ b/src/Mvc/Mvc.TagHelpers/test/ImageTagHelperTest.cs
@@ -264,8 +264,6 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
var fileVersionProvider = new DefaultFileVersionProvider(hostingEnvironment, cacheProvider);
return new ImageTagHelper(
- hostingEnvironment,
- new TagHelperMemoryCacheProvider(),
fileVersionProvider,
new HtmlTestEncoder(),
urlHelperFactory)