首页 > 解决方案 > Xamarin 形式:“对象”类型是在未引用的程序集中定义的

问题描述

我正在使用本文PCL将我的项目转换为项目。但是在构建时出现以下错误。.Net Standard

我尝试netstandard这个线程添加如下参考,但没有运气。

  <ItemGroup>
    <Reference Include="netstandard" />
  </ItemGroup>
  <ItemGroup>

完整的错误详细信息

严重性代码 描述 项目文件行抑制状态错误 CS0012 类型“对象”在未引用的程序集中定义。您必须添加对程序集“netstandard,Version=2.0.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”的引用。

请提出任何解决此问题的方法?

没找到netstandard参考,还有别的名字吗?我在下面添加的屏幕截图reference manager

在此处输入图像描述

最初,我从 Windows 部分收到另一个错误。错误详情:

严重性代码说明 Myproject 文件行抑制状态错误 NU1201 Project Myproj 与 uap10.0.10586 (UAP,Version=v10.0.10586) / win10-arm-aot 不兼容。项目 Myproject 支持:netstandard2.0 (.NETStandard,Version=v2.0) Myproject.UW

为我的 UWP 应用选择 Target 和 Min 版本的 Windows 10 Fall Creators Update 解决了上述问题。我从这里得到这个。该修复是否会影响当前错误?

标签: xamarin.forms.net-standard

解决方案


您没有正确引用包,

删除你的 csproj,它应该看起来像这样:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <!--<PackageReference Include="" Version=""/>-->
  </ItemGroup>

</Project>

在此之后,打开 packages.config,并添加上面的包引用,

<PackageReference Include="YourPackageName" Version="XYZ"/>

最后一步,删除AssemblyInfo.cspackages.config

如果这不起作用,并且如果您使用 Visual Studio for Mac,则可以使用 Mutatio

最后一个可用的选项是创建一个全新的项目 netstandard 并从旧项目中复制类和文件。


推荐阅读