visual-studio - System.IO.FileNotFoundException:更新 xamarin 表单后无法加载程序集“AppName”
问题描述
我无法重建项目,并且在更新到最新的 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
解决方案
我对这种情况的理解告诉我,您没有附带Visual Studio 15.9.xx
.
因此,当您将 Xamarin Forms 包更新到可用的最新版本时,它会看到版本之间存在差异,因此可能会抛出此问题。另一个原因可能是,当您更新 Xamarin Forms 包时,SouqAlData.dll
VS 会以某种方式丢失您的路径,因此您会收到此错误。我建议您在第二种情况下做的事情是您再次为 .dll 提供正确的路径到 VS,看看这是否有助于您构建项目。
您可以按如下方式给出路径:
- 删除对 .dll 的现有引用
- 在您的项目中,转到“参考”>“添加参考”>“浏览”,然后为其提供解决方案目录中的 .dll 路径。
更新:
从最近的 Xamarin 表单更新代码背后不支持任务返回类型作为事件处理程序的签名。
所以用 Void 返回类型替换任务就可以了。参考
推荐阅读
- javascript - Browserify 使用 require('fs-extra') 并在加载 bundle.js 时抛出 Uncaught TypeError: Object prototype may only be an Object or null: undefined
- mysql - 计数和排序行显示计数
- firebase - 向现有 Firebase 云消息传递项目添加或删除 APNS 证书对 HTTP 旧协议服务器密钥的影响
- java - Java/eclipse 错误:发生了 JNI 错误
- c - 内存分配 (malloc) 结构数组
- java - Java 流有条件地添加多个值
- python - Python-使用两个列表计算平均数
- python - numpy - 为什么数值梯度 log(1-sigmoid(x)) 发散但 log(sigmoid(x)) 不发散?
- node.js - Strapi 中的 API 版本控制
- c# - 在 Delphi 中调用 .NET DLL 会导致访问冲突