【问题标题】:Custom WPF TextBlock Renderer - Error CS0433 [duplicate]自定义 WPF TextBlock 渲染器 - 错误 CS0433 [重复]
【发布时间】:2021-07-23 04:03:23
【问题描述】:

我想为一个项目创建一个自定义 TextRenderer。当我尝试使用 MarkedNet.Marked 类时,我不断收到 CS0433 错误。我从微软如何在那里 Wpf TextRenderer 开始,但不知道如何阻止错误的发生。

private static TextBlock CreateControl(ScreenTextElement textElement, AdaptiveRenderContext context)
{
            Marked marked = new Marked();
            
            marked.Options.Renderer = new AdaptiveXamlMarkdownRenderer();
            marked.Options.Mangle = false;
            marked.Options.Sanitize = true;

            string text = RendererUtilities.ApplyTextFunctions(textElement.Text, context.Lang); 
            string xaml = $"<TextBlock  xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">{marked.Parse(text)}</TextBlock>
}";

错误 CS0433 类型“标记”存在于两个“AdaptiveCards”中, 版本=2.7.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35' 和 'Microsoft.MarkedNet,版本=1.0.13.0,文化=中性, PublicKeyToken=31bf3856ad364e35'

感谢您的帮助。

【问题讨论】:

    标签: c# wpf adaptive-cards


    【解决方案1】:

    显示该消息是因为 Microsoft.MarkedNet 和 AdaptiveCards 包含具有完全相同的命名空间和类型名称的相同类型。 您可以在项目设置中为 AdaptiveCards 或 Microsoft.MarkedNet 指定别名,如下所示 (*)

    然后通过定义一个 using 来使用带有别名前缀的完全限定名称

    using Marked = myAlias::Microsoft.MarkedNet.Marked;
    

    或直接使用完全限定的类型名称

    myAlias::Microsoft.MarkedNet.Marked marked = new myAlias::Microsoft.MarkedNet.Marked();
    

    (*) 如果直接引用程序集,请改为单击程序集引用

    【讨论】:

      猜你喜欢
      • 2011-04-20
      • 2018-06-17
      • 2017-06-09
      • 1970-01-01
      • 2017-11-24
      • 2013-09-25
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多