“ResolveLibraryProjectImports”任务意外失败

32
我有一个基于MvvmCross的Xamarin项目,适用于iOS和Android。我在Visual Studio 15中打开了这个项目,遇到了一些错误,其中一些我很快解决了。但还有一些错误卡住了我,即使在Google和Stackoverflow上搜索后也无法解决。我已经尝试了Stackoverflow上找到的每种方法,但是仍然存在所有剩余的错误。该项目使用RestSharp和BoxApi.V2等第三方库。
我会在下面发布我的错误日志。
Severity    Code    Description Project File    Line    Suppression State
Error       The "ResolveLibraryProjectImports" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load assembly 'RestSharp(Android), Version=0.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'RestSharp(Android).dll'
   at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
   at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName, ReaderParameters parameters)
   at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName)
   at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.GetAssembly(String fileName)
   at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(DirectoryAssemblyResolver res, ICollection`1 jars, ICollection`1 resolvedResourceDirectories, ICollection`1 resolvedAssetDirectories, ICollection`1 resolvedEnvironments)
   at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() BoxApi.V2 (Android)

这个错误在解决方案中包含的所有项目中都重复出现。因此,我会多次遇到这个错误。

我还想补充一点,这个项目之前是在MAC上构建的,而我现在使用的是Windows,这会导致某些兼容性或跨操作系统问题吗? 我已经检查了所有程序集引用,都正常工作。


您安装了哪些版本的Visual Studio for Xamarin、Xamarin.Android和Android SDK? - Luke Pothier
Xamarin是最新版本,我已经下载了所有SDK版本。 - Zaeem Sattar
你可以尝试卸载并重新安装受影响的NuGet包,例如RestSharp。 - Plac3Hold3r
构建完成后,您的Android项目的bin/Debug目录中是否有RestSharp.dll?如果没有,那就是问题所在。 - Luke Pothier
dll已经存在,并且它的程序集引用也已添加到项目中。 - Zaeem Sattar
显示剩余5条评论
25个回答

1
这仍然是一个新的问题,经过所有尝试后,我想尝试将代码转移到较短的路径 - 但这需要大量的工作,因为svn管理会变得复杂,所以我想先验证路径是否真的是一个问题,其中一种方法是检查android SDK存储的位置。我在mac上进行了调查,发现SDK路径比我的项目路径长。另外,我尝试了一个新的项目,编译正确。
所以我放弃了移动代码的想法。相反,我使用svn比较了自上次正确构建以来发生了什么变化。
比较表明droid的项目文件某种方式引用了iOS的项目文件,似乎是Visual Studio的一些bug。所以我还原了更改,然后一切都恢复正常。

1
我遇到了同样的错误,通常解决方法是关闭所有其他已打开的Xamarin解决方案。还有一种解决方法:打开任务管理器,找到MSBUILD服务并结束该服务,然后清理解决方案并重新构建。

1
在我的情况下,我只是忘了删除XAML中的点击事件,在我的代码后端(cs文件)中并不存在。之后,我只需清理并重新构建。
我认为该错误是由于未更新引用所造成的。

1
在我的情况下,这个问题与我的xaml相关。我必须解决第二个问题才能使这个错误消失。我用新的默认内容清理了类,然后清理了所有项目和解决方案。最后,关闭Visual Studio,重新打开它,运行项目,现在它可以工作了。-.-.

1
当我意外地将NuGet包安装在解决方案中包含的类库中时,这种情况发生了。我只需要从类库项目中卸载这些包即可。

0
xmlns:maps="clr-namespace:Xamarin.Forms.Maps; assembly=Xamarin.Forms.Maps"

问题是由于上面分号和汇编之间的空格造成的,一旦这个空隙被消除,它就可以编译了。

0

缩短路径(文件夹名称)对我解决了问题。

例如:原来的路径是: C:\Users\Username\Downloads\Compressed\ListView-GettingStarted-in-Xamarin-Forms-master\ListView-GettingStarted-in-Xamarin-Forms-master\GettingStarted

我将其更改为: C:\Users\HelloKali\Downloads\Compressed\3\2\1.


0

这可能是与您的引用/参考程序集有关的问题吗?

如果您在解决方案资源管理器中查看每个项目的引用文件夹,任何Visual Studio找不到的引用,请删除并重新添加它们(右键单击引用文件夹以添加)。


0

我已经遇到这个问题一千次了,实际上当你创建一个新项目时,Visual Studio会在C:驱动器的默认文件夹中创建它,你所要做的就是将你的项目移动到其他驱动器,比如D:、E:等,只需确保将其放在驱动器的根目录下,即如果你将其移动到D:,则将其放置在D/Project/solutionFile中。


0

我遇到了同样的问题,上面的解决方案都没有起作用。在注意到关于加密的错误列表后,我知道这一定与启用了 FIPS(VPN 客户端要求)有关。

Xamarin Compile Time Error

通过禁用 FIPS 并重新启动 Visual Studio,问题得到解决。

enter image description here


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