React to aspnet/Razor#352.
- Moved initialization of TagHelperDescriptorResolver to be Lazy so DesignTimeMode can be set.
This commit is contained in:
parent
2f554c4b29
commit
02a3ca8abb
|
|
@ -13,6 +13,7 @@ using Microsoft.AspNet.Razor.Chunks;
|
||||||
using Microsoft.AspNet.Razor.CodeGenerators;
|
using Microsoft.AspNet.Razor.CodeGenerators;
|
||||||
using Microsoft.AspNet.Razor.Parser;
|
using Microsoft.AspNet.Razor.Parser;
|
||||||
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
|
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
|
||||||
|
using Microsoft.AspNet.Razor.TagHelpers;
|
||||||
using Microsoft.Framework.Internal;
|
using Microsoft.Framework.Internal;
|
||||||
|
|
||||||
namespace Microsoft.AspNet.Mvc.Razor
|
namespace Microsoft.AspNet.Mvc.Razor
|
||||||
|
|
@ -44,6 +45,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
||||||
private readonly IChunkTreeCache _chunkTreeCache;
|
private readonly IChunkTreeCache _chunkTreeCache;
|
||||||
private readonly RazorPathNormalizer _pathNormalizer;
|
private readonly RazorPathNormalizer _pathNormalizer;
|
||||||
private ChunkInheritanceUtility _chunkInheritanceUtility;
|
private ChunkInheritanceUtility _chunkInheritanceUtility;
|
||||||
|
private ITagHelperDescriptorResolver _tagHelperDescriptorResolver;
|
||||||
|
|
||||||
internal MvcRazorHost(IChunkTreeCache chunkTreeCache, RazorPathNormalizer pathNormalizer)
|
internal MvcRazorHost(IChunkTreeCache chunkTreeCache, RazorPathNormalizer pathNormalizer)
|
||||||
: base(new CSharpRazorCodeLanguage())
|
: base(new CSharpRazorCodeLanguage())
|
||||||
|
|
@ -52,7 +54,6 @@ namespace Microsoft.AspNet.Mvc.Razor
|
||||||
_baseType = BaseType;
|
_baseType = BaseType;
|
||||||
_chunkTreeCache = chunkTreeCache;
|
_chunkTreeCache = chunkTreeCache;
|
||||||
|
|
||||||
TagHelperDescriptorResolver = new TagHelperDescriptorResolver();
|
|
||||||
DefaultBaseClass = BaseType + "<" + DefaultModel + ">";
|
DefaultBaseClass = BaseType + "<" + DefaultModel + ">";
|
||||||
DefaultNamespace = "Asp";
|
DefaultNamespace = "Asp";
|
||||||
// Enable instrumentation by default to allow precompiled views to work with BrowserLink.
|
// Enable instrumentation by default to allow precompiled views to work with BrowserLink.
|
||||||
|
|
@ -132,6 +133,27 @@ namespace Microsoft.AspNet.Mvc.Razor
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public override ITagHelperDescriptorResolver TagHelperDescriptorResolver
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
// The initialization of the _tagHelperDescriptorResolver needs to be lazy to allow for the setting
|
||||||
|
// of DesignTimeMode.
|
||||||
|
if (_tagHelperDescriptorResolver == null)
|
||||||
|
{
|
||||||
|
_tagHelperDescriptorResolver = new TagHelperDescriptorResolver(DesignTimeMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
return _tagHelperDescriptorResolver;
|
||||||
|
}
|
||||||
|
[param: NotNull]
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_tagHelperDescriptorResolver = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the model type used by default when no model is specified.
|
/// Gets the model type used by default when no model is specified.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -191,7 +191,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Precompilation
|
||||||
|
|
||||||
protected IMvcRazorHost GetRazorHost()
|
protected IMvcRazorHost GetRazorHost()
|
||||||
{
|
{
|
||||||
var descriptorResolver = new TagHelperDescriptorResolver(TagHelperTypeResolver);
|
var descriptorResolver = new TagHelperDescriptorResolver(TagHelperTypeResolver, designTime: false);
|
||||||
return new MvcRazorHost(new DefaultChunkTreeCache(FileProvider))
|
return new MvcRazorHost(new DefaultChunkTreeCache(FileProvider))
|
||||||
{
|
{
|
||||||
TagHelperDescriptorResolver = descriptorResolver
|
TagHelperDescriptorResolver = descriptorResolver
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,8 @@ namespace Microsoft.AspNet.Mvc.Razor
|
||||||
name: "MyAttribute",
|
name: "MyAttribute",
|
||||||
propertyName: "SomeProperty",
|
propertyName: "SomeProperty",
|
||||||
typeName: propertyType,
|
typeName: propertyType,
|
||||||
isIndexer: false);
|
isIndexer: false,
|
||||||
|
usageDescriptor: null);
|
||||||
var writer = new CSharpCodeWriter();
|
var writer = new CSharpCodeWriter();
|
||||||
var generatorContext = new ChunkGeneratorContext(
|
var generatorContext = new ChunkGeneratorContext(
|
||||||
host: null,
|
host: null,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue