0

我创建了 3 个组件,它们具有完全相同的实现,只有 1 个区别:

  • 第一个组件(MyTest)与其父组件在同一个项目中实现
  • 第二个(Component1)来自不同(但相同的解决方案)
  • 第三个(CSInput)是从 NuGet 包中导入的。以下是同一个父级中所有 3 个的调用。

razor 组件实现如下:

<input disabled="@Disabled">

@code {
 [Parameter]
 public bool Disabled { get; set; }
}

父实现的片段:

// The Disabled property is coded as boolean
<MyTest Disabled="@DisableMyTest"/>
<RazorClassLibrary1.Component1 Disabled="@DisableMyTest" />
<CSInput Disabled="@DisableMyTest"/>

@code{
  private bool DisableMyTest = false;
}

由于未知原因,编译器在CSInput 的 Disabled 属性上发出了 CS1503(无法从“布尔”转换为“字符串”)。知道为什么吗?非常感谢!

4

1 回答 1

0

弄清楚了。奇怪的行为是由于我没有增加 nuget 的版本引起的。每当您安装 Nuget 时,VS 都会在 .nuget\packages 目录中保留一份副本。如果您不清理该目录,VS 将继续使用它所拥有的内容。现在,我在哪里可以得到假发......

于 2021-01-23T00:36:13.803 回答