You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS Sierra上Xamarin.Forms配置求助:VS启动异常及XF001报错

问题原因及解决办法

我之前在VS for Mac 7.x版本里创建PCL类型的Xamarin.Forms项目时,也碰到过一模一样的XF001错误,咱们来拆解问题和解决办法:

问题原因

你遇到的XF001: Xamarin.Forms targets have been imported multiple times错误,本质是项目配置文件(.csproj)里重复添加了Xamarin.Forms的构建目标导入语句。这个问题在你用的7.3.2版本里挺常见的,主要是老版本的PCL项目模板在NuGet包自动配置时,会重复写入<Import>节点到项目文件中——手动删除Packages文件夹没用,因为项目文件里的重复配置还在。

解决步骤

方法一:手动修改项目文件(最直接)

  1. 先关闭Visual Studio for Mac,避免文件被锁定。
  2. 找到你的解决方案文件夹,打开PCL项目(就是那个名为ABCD的核心项目)的.csproj文件,用系统自带的TextEdit或者其他文本编辑器打开。
  3. 在文件里搜索包含Xamarin.Forms.targets的语句,你会发现类似下面的重复条目:
    <Import Project="..\packages\Xamarin.Forms.2.5.0.122203\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.5.0.122203\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
    
  4. 只保留其中一条,删除其他重复的导入语句。
  5. 同样检查Android和iOS项目的.csproj文件,确认有没有同样的重复导入,有的话也删掉多余的。
  6. 重新打开VS for Mac,先右键解决方案选择Restore NuGet Packages,之后再尝试Clean ABCD和Build操作。

方法二:重置NuGet依赖(更省心)

如果不想手动改代码,可以试试这个方式:

  1. 关闭VS for Mac,删除解决方案根目录下的Packages文件夹。
  2. 同时删除每个项目文件夹里的packages.config文件(如果有的话)。
  3. 重新打开VS for Mac,右键解决方案选择Restore NuGet Packages,让NuGet重新下载并配置所有依赖,这时候通常会自动修复重复导入的问题。

额外建议

你用的VS for Mac 7.3.2是比较老的版本了,而且PCL(可移植类库)已经被.NET Standard取代,后续创建项目时建议选择.NET Standard作为共享项目类型,不仅配置更稳定,兼容性也更好。如果条件允许,尽量升级到更新的VS for Mac版本,能避免很多这类老版本的模板bug。

内容的提问来源于stack exchange,提问作者user2323030

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:54:51