Catel.Fody 在 WPF .NET Core 3.1 / .NET 5.0 中 - 找不到命名空间问题

Catel.Fody in WPF .NET Core 3.1 / .NET 5.0 - Namespace not Found Issue

我在 .NET Core 3.1 WPF 应用程序中使用 Catel.Fody 时遇到问题。我添加了 NuGet 包 Catel.Fody 并生成了 FodyWeavers.xml 文件,如下所示。

using Catel.Fody;语句报错:the namespace Catel cannot be found.

Catel.Fody 与 .NET Core WPF 不兼容吗?

<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
  <Catel />
</Weavers>

编辑:我正在遵循 MVVM 模式,我的视图和视图模型位于 UI 层,这是我需要使用 Catel.Fody.

的地方

它们应该都兼容。请查看 Orc 组件 (https://github.com/wildgums)。这些是 all.net core 3.1 and.net 5.0 兼容并使用 Catel.Fody.

我遇到了同样的问题,并通过替换项目文件中的以下代码解决了这个问题:

<PackageReference Include="Catel.Fody">
  <Version>4.7.0</Version>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
  <PrivateAssets>all</PrivateAssets>
</PackageReference>

有:

<PackageReference Include="Catel.Fody" Version="4.7.0" PrivateAssets="all" />

问题出在 <IncludeAssets> 元素上。它需要在其内容中列出 compile。通过删除 <IncludeAssets> 元素,使用默认值 all

有关包参考的更多信息,请访问 Microsoft NuGet Docs