System.IO.FileNotFoundException:更新xamarin表单后无法加载程序集“ AppName”

时间:2018-11-20 15:35:45

标签: visual-studio xamarin xamarin.forms xamarin.android file-not-found

我无法重建项目,并且在更新到最新的Xamarin Forms 3.4.0.1008975后得到了此异常,如果我将其降级到3.1.0.583944或更低版本,则该异常将消失并且可以成功构建。

我试图更新VS并进行清理-关闭-重新打开,但问题仍然存在,我还尝试将项目移至C:/,但是没有运气。

Error       The "ResolveLibraryProjectImports" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load assembly 'SouqAlData, Version=0.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'SouqAlData.dll'
   at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
   at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName)
   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() SouqAlData.Android  

enter image description here

2 个答案:

答案 0 :(得分:1)

我对情况的了解告诉我,您没有Visual Studio 15.9.xx随附的最新版本的Xamarin。

因此,当您将Xamarin Forms软件包更新到可用的最新版本时,会发现版本之间存在差异,因此可能会抛出此错误。另一个原因可能是,当您更新Xamarin Forms软件包时,VS会以某种方式丢失SouqAlData.dll的路径,因此会出现此错误。在第二种情况下,我建议您做的是再次为VS提供.dll的正确路径,并查看它是否对构建项目有所帮助。

您可以提供如下路径:

  • 删除对.dll的现有引用
  • 在您的项目中,转到参考文献>添加参考文献>浏览,然后为其提供解决方案目录中的.dll路径。

更新

从最近的Xamarin表单后面的更新代码不支持将任务返回类型用作事件处理程序的签名。

所以用Void返回类型替换Task就可以了。 Reference

答案 1 :(得分:0)

如果您在xaml文件中的情况下解决方案中存在另一个错误,请检查xaml代码是否存在不匹配代码或事件,则会发生此错误。就我而言,我在xaml文件中发现了“->”,这就是问题所在。