簡體   English   中英

升級到asp.net Core 2.0后,Taghelper無法呈現

[英]Taghelper not rendering after upgrade to asp.net core 2.0

我已經將我的應用程序升級到asp.net core 2.0,現在我的taghelpers沒有呈現。 我的代碼沒有任何變化。 以下是我的_ViewImport.cshtml和labeltaghelper.cs。 另外在進行構建時,我也得到警告

使用'.NETFramework,Version = v4.6.1'而不是項目目標框架'.NETCoreApp,Version = v2.0'恢復了'Microsoft.AspNet.Mvc.TagHelpers 6.0.0-rc1-final'

_ViewImport.cshtml

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, IntegraPay.RegistrationApplication

LabelTagHelper.cs

using IntegraPay.Domain.SObjects;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Razor.TagHelpers;

namespace IntegraPay.RegistrationApplication.TagHelpers
{
    [HtmlTargetElement("label", Attributes = FieldContentMetaData)]
    public class LabelTagHelper : TagHelper
    {
        private const string FieldContentMetaData = "tag-FieldMetaData";

        [HtmlAttributeName(FieldContentMetaData)]
        public WebFormFieldContent FieldContent { get; set; }
        private TagBuilder AnchorBuilder { get; set; } = new TagBuilder("a");
        private TagBuilder asteriskBuilder { get; set; } = new TagBuilder("span");
        private void CreateAsteriskIcon()
        {
            asteriskBuilder.Attributes.Add("class", "asteriskStyle");
            asteriskBuilder.InnerHtml.Append("*");
        }
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            if (FieldContent.Required__c)
            {
                CreateAsteriskIcon();
                output.PreElement.AppendHtml(asteriskBuilder);
            }
            if (FieldContent.Visible__c)
            {
                output.Content.SetHtmlContent(FieldContent.Label_Override__c);
                if (!string.IsNullOrEmpty(FieldContent.Field_Description__c))
                {
                    GenerateAnchorToolTipTag();
                    output.Content.AppendHtml(" ");
                    output.Content.AppendHtml(AnchorBuilder);
                }
            }
            else
            {
                output.Attributes.Add("class", "ControlIsVisible");
            }
            base.Process(context, output);
        }

        private void GenerateAnchorToolTipTag()
        {
            if (!string.IsNullOrEmpty(FieldContent.Field_Description__c))
            {
                AnchorBuilder.Attributes.Add("data-toggle", "tooltip");
                AnchorBuilder.Attributes.Add("data-placement", "right");
                AnchorBuilder.Attributes.Add("data-original-title", FieldContent.Field_Description__c);
                string iclass = "ip fa fa-question-circle-o";
                AnchorBuilder.InnerHtml.AppendHtml($"<i class='{iclass}' aria-hidden='true'></i>");
            }
        }
    }
}

csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <DebugType>portable</DebugType>
    <PreserveCompilationContext>true</PreserveCompilationContext>
    <AssemblyName>Integrapay.RegistrationApplication</AssemblyName>
    <OutputType>Exe</OutputType>
    <PackageId>Integrapay.RegistrationApplication</PackageId>
    <RuntimeFrameworkVersion>1.1.2</RuntimeFrameworkVersion>
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
    <SignAssembly>False</SignAssembly>
  </PropertyGroup>

  <Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
    <ItemGroup>
      <DocFile Include="bin\$(Configuration)\$(TargetFramework)\Integrapay.RegistrationApplication.xml" />
    </ItemGroup>
    <Copy SourceFiles="@(DocFile)" DestinationFolder="$(PublishDir)" SkipUnchangedFiles="false" />
  </Target>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <DocumentationFile>bin\Debug\netcoreapp1.1\Integrapay.RegistrationApplication.xml</DocumentationFile>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <DocumentationFile>bin\Release\netcoreapp1.1\Integrapay.RegistrationApplication.xml</DocumentationFile>
  </PropertyGroup>

  <ItemGroup>
    <Compile Remove="bower_components\bootstrap-fileinput\**" />
    <Content Remove="bower_components\bootstrap-fileinput\**" />
    <EmbeddedResource Remove="bower_components\bootstrap-fileinput\**" />
    <None Remove="bower_components\bootstrap-fileinput\**" />
  </ItemGroup>


  <ItemGroup>
    <Compile Remove="Controllers\LoginController.cs" />
  </ItemGroup>

  <ItemGroup>
    <Content Include="wwwroot\docs\ui\custom.css" />
    <Content Include="wwwroot\docs\ui\index.html" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="bower_components\" />
    <Folder Include="wwwroot\css\" />
  </ItemGroup>

  <ItemGroup>
    <None Update="wwwroot\**\*;Views\**\*;bin\Debug\netcoreapp1.1\Integrapay.RegistrationApplication.xml">
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    </None>
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
    <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="2.0.0" />
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNet.Mvc.TagHelpers" Version="6.0.0-rc1-final" />
    <!--<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.5" />-->
    <PackageReference Include="DeveloperForce.Force" Version="1.3.2" />
    <PackageReference Include="Microsoft.AspNetCore" Version="2.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="2.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.2" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Abstractions" Version="2.0.2" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.0.2" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.DataAnnotations" Version="2.0.2" />
    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="2.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration.Tools" Version="1.0.0-preview2-final" />
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.ViewFeatures" Version="2.0.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.5" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" />
    <PackageReference Include="Microsoft.Framework.Configuration" Version="1.0.0-beta8" />
    <PackageReference Include="Microsoft.NETCore.Portable.Compatibility" Version="1.0.1" />
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.0.1" />
    <PackageReference Include="MailKit" Version="2.0.1" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.2" />
    <PackageReference Include="Swashbuckle" Version="5.6.0" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="1.1.0" />
    <PackageReference Include="System.Runtime" Version="4.3.0" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Update="Microsoft.NETCore.App" Version="2.0.0" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\IntegraPay.Domain\IntegraPay.Domain.csproj" />
  </ItemGroup>
</Project>

在您的.csproj文件中,您正在使用預覽NuGet包Microsoft.AspNet.Mvc.TagHelpers 它已由Microsoft.AspNetCore.Mvc.TagHelpers取代。

您的項目中還有其他預發行軟件包。 我建議檢查所有依賴項,然后先嘗試使用最新版本,然后在收到任何沖突警告時適當降級。

這是一個名稱空間名稱問題。 IntegraPay中的P必須小寫。

   @addTagHelper *, IntegraPay.RegistrationApplication

@addTagHelper *, Integrapay.RegistrationApplication

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM