生成Xamarin iOS项目时找不到系统类型

时间:2018-07-26 01:06:53

标签: ios xamarin

我正在使用Xamarin构建一个多平台的类库。 Android项目的构建没有问题。但是,iOS项目针对各种System类型给了我很多类似的错误:

error CS0012: The type 'System.IDisposable' is defined in an assembly that is not referenced. Consider adding a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'

无论我是通过Visual Studio还是通过msbuild在命令行中构建,都会发生这种情况。

我的.csproj具有以下框架参考和程序包参考:

<ItemGroup>
  <Reference Include="System" />
  <Reference Include="System.Xml" />
  <Reference Include="System.Core" />
  <Reference Include="System.Net.Http" />
  <Reference Include="Xamarin.iOS" />
  <PackageReference Include="Common.Logging" Version="3.4.1" />
  <PackageReference Include="Xamarin.Essentials" Version="0.8.0-preview" />
  <PackageReference Include="Xam.Plugin.DeviceInfo" Version="4.0.0.13" />
  <PackageReference Include="My.Other.Library" Version="1.0.2" />
</ItemGroup>

请注意,My.Other.Library不是一个iOS项目。它的目标是netstandard1.4netstandard1.6netstandard2.0net45。我猜这不是问题所在,因为我的Android项目也使用了相同的库,效果很好。

当前,这两个项目具有相同的代码-也就是说,它们都从共享目录编译相同的.cs文件,除了AssemblyInfo.cs分别存在于每个项目中。除了Android项目使用Mono.Android而非Xamarin.iOS之外,它们还具有相同的程序集引用。

我正在使用Mac Visual Studio Community 7.5.2。

有什么想法吗?

0 个答案:

没有答案