Changes to support use of TagHelpers in applications with precompiled
views.
This commit is contained in:
parent
565a31b200
commit
61be874af8
|
|
@ -31,14 +31,14 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates a <see cref="TagHelperDescriptor"/> from the given <paramref name="type"/>.
|
/// Creates a <see cref="TagHelperDescriptor"/> from the given <paramref name="type"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <param name="assemblyName">The assembly name that contains <paramref name="type"/>.</param>
|
||||||
/// <param name="type">The type to create a <see cref="TagHelperDescriptor"/> from.</param>
|
/// <param name="type">The type to create a <see cref="TagHelperDescriptor"/> from.</param>
|
||||||
/// <returns>A <see cref="TagHelperDescriptor"/> that describes the given <paramref name="type"/>.</returns>
|
/// <returns>A <see cref="TagHelperDescriptor"/> that describes the given <paramref name="type"/>.</returns>
|
||||||
public static IEnumerable<TagHelperDescriptor> CreateDescriptors(Type type)
|
public static IEnumerable<TagHelperDescriptor> CreateDescriptors(string assemblyName, Type type)
|
||||||
{
|
{
|
||||||
var tagNames = GetTagNames(type);
|
var tagNames = GetTagNames(type);
|
||||||
var typeName = type.FullName;
|
var typeName = type.FullName;
|
||||||
var attributeDescriptors = GetAttributeDescriptors(type);
|
var attributeDescriptors = GetAttributeDescriptors(type);
|
||||||
var assemblyName = type.GetTypeInfo().Assembly.GetName().Name;
|
|
||||||
|
|
||||||
return tagNames.Select(tagName =>
|
return tagNames.Select(tagName =>
|
||||||
new TagHelperDescriptor(tagName,
|
new TagHelperDescriptor(tagName,
|
||||||
|
|
|
||||||
|
|
@ -26,18 +26,23 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
|
|
||||||
private readonly TagHelperTypeResolver _typeResolver;
|
private readonly TagHelperTypeResolver _typeResolver;
|
||||||
|
|
||||||
// internal for testing
|
|
||||||
internal TagHelperDescriptorResolver(TagHelperTypeResolver typeResolver)
|
|
||||||
{
|
|
||||||
_typeResolver = typeResolver;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Instantiates a new instance of the <see cref="TagHelperDescriptorResolver"/> class.
|
/// Instantiates a new instance of the <see cref="TagHelperDescriptorResolver"/> class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public TagHelperDescriptorResolver()
|
public TagHelperDescriptorResolver()
|
||||||
: this(new TagHelperTypeResolver())
|
: this(new TagHelperTypeResolver())
|
||||||
{
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Instantiates a new instance of <see cref="TagHelperDescriptorResolver"/> class with the
|
||||||
|
/// specified <paramref name="typeResolver"/>.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="typeResolver">The <see cref="TagHelperTypeResolver"/>.</param>
|
||||||
|
public TagHelperDescriptorResolver(TagHelperTypeResolver typeResolver)
|
||||||
|
{
|
||||||
|
_typeResolver = typeResolver;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
|
@ -112,7 +117,8 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
var tagHelperTypes = _typeResolver.Resolve(assemblyName, documentLocation, errorSink);
|
var tagHelperTypes = _typeResolver.Resolve(assemblyName, documentLocation, errorSink);
|
||||||
|
|
||||||
// Convert types to TagHelperDescriptors
|
// Convert types to TagHelperDescriptors
|
||||||
var descriptors = tagHelperTypes.SelectMany(TagHelperDescriptorFactory.CreateDescriptors);
|
var descriptors = tagHelperTypes.SelectMany(
|
||||||
|
type => TagHelperDescriptorFactory.CreateDescriptors(assemblyName, type));
|
||||||
|
|
||||||
return descriptors;
|
return descriptors;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@ namespace Microsoft.AspNet.Razor
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The <see cref="ITagHelperDescriptorResolver"/> used to resolve <see cref="TagHelperDescriptor"/>s.
|
/// The <see cref="ITagHelperDescriptorResolver"/> used to resolve <see cref="TagHelperDescriptor"/>s.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual ITagHelperDescriptorResolver TagHelperDescriptorResolver { get; protected set; }
|
public virtual ITagHelperDescriptorResolver TagHelperDescriptorResolver { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Boolean indicating if instrumentation code should be injected into the output page
|
/// Boolean indicating if instrumentation code should be injected into the output page
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue