构建后找不到已安装包的命名空间

Namespace cannot be found for installed package after building

我正在尝试使用方法拦截器,因此我可以 运行 在我的 Xamarin 应用程序中某些标记方法之前的方法。我从 NuGet 包管理器安装了 Fody,然后下载了 MethodBoundaryAspect.Fody.

在创建我的方法拦截器时 class,命名空间出现并且自动完成工作:

当我尝试构建解决方案并在模拟器上 运行 时,它失败并给出了这些错误:

然后在我的 class 中,它说 "The type or namespace 'MethodBoundaryAspect' could not be found",即使在我尝试构建应用程序之前一切正常:

我哪里错了?我愿意使用其他开源方法拦截器。

这好像是bug中的织布机。我们在我们的项目中遇到了同样的问题(尽管不是 Xamarin,而是带有 CPS 的 WPF)并通过链接问题的解决方法解决了它:

打开您的 csproj 文件并更改包导入

<PackageReference Include="MethodBoundaryAspect.Fody" Version="1.0.66">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>

只是

<PackageReference Include="MethodBoundaryAspect.Fody" Version="1.0.66" />