Changes to support use of TagHelpers in applications with precompiled

views.
This commit is contained in:
Pranav K 2015-02-17 15:54:56 -08:00
parent 565a31b200
commit 61be874af8
3 changed files with 16 additions and 10 deletions

View File

@ -31,14 +31,14 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
/// <summary>
/// Creates a <see cref="TagHelperDescriptor"/> from the given <paramref name="type"/>.
/// </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>
/// <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 typeName = type.FullName;
var attributeDescriptors = GetAttributeDescriptors(type);
var assemblyName = type.GetTypeInfo().Assembly.GetName().Name;
return tagNames.Select(tagName =>
new TagHelperDescriptor(tagName,

View File

@ -26,18 +26,23 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
private readonly TagHelperTypeResolver _typeResolver;
// internal for testing
internal TagHelperDescriptorResolver(TagHelperTypeResolver typeResolver)
{
_typeResolver = typeResolver;
}
/// <summary>
/// Instantiates a new instance of the <see cref="TagHelperDescriptorResolver"/> class.
/// </summary>
public TagHelperDescriptorResolver()
: 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 />
@ -112,7 +117,8 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
var tagHelperTypes = _typeResolver.Resolve(assemblyName, documentLocation, errorSink);
// Convert types to TagHelperDescriptors
var descriptors = tagHelperTypes.SelectMany(TagHelperDescriptorFactory.CreateDescriptors);
var descriptors = tagHelperTypes.SelectMany(
type => TagHelperDescriptorFactory.CreateDescriptors(assemblyName, type));
return descriptors;
}

View File

@ -115,7 +115,7 @@ namespace Microsoft.AspNet.Razor
/// <summary>
/// The <see cref="ITagHelperDescriptorResolver"/> used to resolve <see cref="TagHelperDescriptor"/>s.
/// </summary>
public virtual ITagHelperDescriptorResolver TagHelperDescriptorResolver { get; protected set; }
public virtual ITagHelperDescriptorResolver TagHelperDescriptorResolver { get; set; }
/// <summary>
/// Boolean indicating if instrumentation code should be injected into the output page