元数据文件“ .dll”未找到。

12

我正在尝试使用Xamarin,并尝试将iOS项目部署到iOS模拟器中查看,但由于出现以下错误,我无法实现:

找不到元数据文件.dll......

我已经尝试通过清理解决方案并重新构建项目和解决方案以及在Stackoverflow网站上找到的其他方法来修复它,但我无法解决它。是否有人可以帮助我?

谢谢提前

Alejandro Castan

附:抱歉我的英语不太好

7个回答

12
这种错误在许多Visual Studio 201X项目中经常出现。我所做的修复方法是:
  1. 右键单击解决方案 -> 在左侧面板上单击配置属性 --> 配置,尝试取消选中.dll错误所引用的项目,应用,然后重新检查并再次应用。
  2. 如果这不能解决您的问题,请先解决其他代码错误,然后重新构建解决方案。在解决其他代码错误后,无法找到“ .dll”元数据文件错误就不会再出现了。

不是很确定为什么这个有效,但你建议的第一件事起了作用。谢谢! - dgarbacz

1

1

你可能有两个具有相同x:Class名称的XAML文件,可能是当你复制一个XAML文件时忘记重命名x:Class名称了。


0

你可能尝试过构建整个解决方案。

对我来说,这是因为Xamarin Form项目出现了错误,因此无法构建xxx.dll。因此,当我构建整个解决方案时,Android项目将尝试使用xxx.dll,这是元数据文件,但由于Xamarin.Form项目未成功构建,因此该dll不存在。

因此,您应该首先构建Xamarin.Form项目,并确保此项目构建成功。在构建此项目时,它将为您提供更具体的错误位置。


0
在我的情况下,这是由于代码中有条件编译符号(__IOS__;__ANDROID__),因此您必须在项目的构建/常规选项卡中的调试或发布构建选项中定义它们。

0
如果在VS 2022中遇到此问题,若启用Mono上的MSBuild可能有助于解决。请参见下方截图所示的相同要求。

MSBuild on Mono


0

对于我来说,处理一个具有多个dll部分的遗留应用程序,我需要:

  • 删除未找到的程序集引用,并将它们作为项目引用添加回来。
  • 还要确保使用“平台x64”或“平台x86”配置编译iOS版本,而不是“AnyCPU”。

然后,通过远程Mac连接进行编译工作良好。

澄清一下,问题没有提及在何时发生问题时如何编译iOS版本。在我的情况下,如果我在本地Mac设备上编译遗留代码,则编译正常,只有当我尝试在Windows Visual Studio上解决远程Mac编译问题时才会出现相同的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接