Xamarin形式:类型“对象”是在未引用的程序集中定义的

时间:2019-01-17 10:47:54

标签: xamarin.forms .net-standard

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

我尝试从this 线程中像下面一样添加netstandard引用,但是没有运气。

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

完整的错误详细信息

  

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

请提出解决此问题的建议吗?

我在那里没有找到netstandard参考,它还有其他名字吗?下面添加了我的reference manager的屏幕截图。

enter image description here

最初,我从Windows部分收到了另一个错误。 错误详细信息:

  

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

为我的UWP应用选择目标版本和最低版本的Windows 10 Fall Creators Update解决了以上问题。我是从here那里得到的。该修复程序会影响当前错误吗?

1 个答案:

答案 0 :(得分:1)

您没有正确引用软件包,

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

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

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

</Project>

然后,打开package.config,并在上面添加包引用

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

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

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

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