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.Parser;
|
||||
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
|
||||
using Microsoft.AspNet.Razor.TagHelpers;
|
||||
using Microsoft.Framework.Internal;
|
||||
|
||||
namespace Microsoft.AspNet.Mvc.Razor
|
||||
|
|
@ -44,6 +45,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
private readonly IChunkTreeCache _chunkTreeCache;
|
||||
private readonly RazorPathNormalizer _pathNormalizer;
|
||||
private ChunkInheritanceUtility _chunkInheritanceUtility;
|
||||
private ITagHelperDescriptorResolver _tagHelperDescriptorResolver;
|
||||
|
||||
internal MvcRazorHost(IChunkTreeCache chunkTreeCache, RazorPathNormalizer pathNormalizer)
|
||||
: base(new CSharpRazorCodeLanguage())
|
||||
|
|
@ -52,7 +54,6 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
_baseType = BaseType;
|
||||
_chunkTreeCache = chunkTreeCache;
|
||||
|
||||
TagHelperDescriptorResolver = new TagHelperDescriptorResolver();
|
||||
DefaultBaseClass = BaseType + "<" + DefaultModel + ">";
|
||||
DefaultNamespace = "Asp";
|
||||
// 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>
|
||||
/// Gets the model type used by default when no model is specified.
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ namespace Microsoft.AspNet.Mvc.Razor.Precompilation
|
|||
|
||||
protected IMvcRazorHost GetRazorHost()
|
||||
{
|
||||
var descriptorResolver = new TagHelperDescriptorResolver(TagHelperTypeResolver);
|
||||
var descriptorResolver = new TagHelperDescriptorResolver(TagHelperTypeResolver, designTime: false);
|
||||
return new MvcRazorHost(new DefaultChunkTreeCache(FileProvider))
|
||||
{
|
||||
TagHelperDescriptorResolver = descriptorResolver
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
name: "MyAttribute",
|
||||
propertyName: "SomeProperty",
|
||||
typeName: propertyType,
|
||||
isIndexer: false);
|
||||
isIndexer: false,
|
||||
usageDescriptor: null);
|
||||
var writer = new CSharpCodeWriter();
|
||||
var generatorContext = new ChunkGeneratorContext(
|
||||
host: null,
|
||||
|
|
|
|||
Loading…
Reference in New Issue