Xamarin.Android.Support.Fragment,Version = 1.0.0.0,Culture = neutral,PublicKeyToken ='。也许它在Mono
古人学问无遗力,少壮工夫老始成。这篇文章主要讲述Xamarin.Android.Support.Fragment,Version = 1.0.0.0,Culture = neutral,PublicKeyToken ='
。也许它在Mono 相关的知识,希望能为你提供帮助。
我试图使用Xamarin.android.Support库版本25.3.1,但由于一个错误,我决定降级回我以前的版本23.3.0。降级后我收到以下错误消息。无论我尝试什么,我都无法摆脱它。我试图删除所有bin,obj,tmp等文件夹。重启VS2015,清理,重建......
SeverityCodeDescription Project FileLineSuppression State
ErrorException while loading assemblies: System.IO.FileNotFoundException: Could not load assembly
'Xamarin.Android.Support.Fragment, Version=1.0.0.0, Culture=neutral,
PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'Xamarin.Android.Support.Fragment.dll'
at java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(DirectoryAssemblyResolver resolver, ICollection`1 assemblies, AssemblyDefinition assembly, Boolean topLevel)
at Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver resolver)
我在package.config文件中发现了一个小小的变化。现在所有低于targetFramework =“monoandroid71”。在升级降级之前,他们是targetFramework =“monoandroid70”,我将它们替换为manulla,但它根本没有帮助。我该如何解决这个问题?
<
package id="Xamarin.Android.ShortcutBadger" version="1.1.809" targetFramework="monoandroid71" />
<
package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="monoandroid71" />
<
package id="Xamarin.Android.Support.CustomTabs" version="23.3.0" targetFramework="monoandroid71" />
<
package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="monoandroid71" />
<
package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="monoandroid71" />
<
package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="monoandroid71" />
<
package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="monoandroid71" />
<
package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid71" />
<
package id="Xamarin.Android.Support.v7.Palette" version="23.3.0" targetFramework="monoandroid71" />
我的设置如何看起来像
文章图片
参考文献:
文章图片
更新:我已重新安装所有nugetpackages并成功运行1个PC上的Android项目,但有趣的是同一个项目没有在另一台PC上运行。它返回不同但相似的错误。
SeverityCodeDescription Project FileLineSuppression State
ErrorThe "ResolveLibraryProjectImports" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load assembly 'myApp, Version=0.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'myApp.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() myApp.Droid
答案我的问题是我更新了xamarin表格到2.5.0.121934,然后,它显示错误“加载程序集时出现异常:System.IO.FileNotFoundException:无法加载程序集'Xamarin.Android.Support.Fragment,Version = 1.0.0.0,Culture =中性,PublicKeyToken ='。也许它在Mono for Android个人资料中不存在?“
所以我将我的xamarin.form降级到2.3.4.247,然后它成功构建。
另一答案这里最好的选择是从Xamarin.Android项目中卸载所有Xamarin和Android软件包。然后再次安装Xamarin.Forms,它将添加正确的依赖项。
或者,尝试下载
Install-Package Xamarin.Android.Support.Fragment
另一答案【Xamarin.Android.Support.Fragment,Version = 1.0.0.0,Culture = neutral,PublicKeyToken =' 。也许它在Mono】可悲的是,这里描述的步骤对我没有帮助。但我开始了解这个事业。
第一步是确定要使用support.Fragment包的包。
为此,请将MsBuild输出设置为Diagnostics。 (tools => options => projects and solutions => 构建并运行)
然后构建,一旦报告错误,在日志中找到support.fragment。
在我的情况下,Acr.Userdialogs试图获得support.Fragment框架。
依赖“Xamarin.Android.Support.Fragment,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”。 (TASKID:415)从这里起,这是一个降级Acr.Userdialogs框架的问题,直到这种依赖关系消失。
无法解析此引用。无法找到程序集“Xamarin.Android.Support.Fragment,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”。检查以确保磁盘上存在程序集。
如果您的代码需要此引用,则可能会出现编译错误。 (TASKID:415)
“Acr.UserDialogs,Version = 1.0.0.0,Culture = neutral,processorArchitecture = MSIL”要求。 (TASKID:415)
希望这可以帮助 :-)
另一答案我重命名了标题,因为我有2个以下问题,它们看起来确实相似,并且都只与Android项目相关。
- 第一个是抱怨support.Fragment可用于24.x.x以上,但我使用的是23.0.x.造成这种情况可能是因为从25.3.1版本降级。无论我尝试什么,清洁bin,obj,temp,重建都没有帮助。我使用命令
Update-Package –reinstall
to重新安装解决方案中的所有NuGet包。这有助于我的一台电脑。但在我的另一台电脑上,我在问题中得到第二个错误。 - 下面的错误信息确实告诉你在android下找不到PCL项目。如果查看“输出”窗口,它将告诉您在Debug / Bin文件夹中找不到它。当我查看我的Bin文件夹时,我发现没有生成任何内容。 “ResolveLibraryProjectImports”任务意外失败。 System.IO.FileNotFoundException:无法加载程序集'myApp,Version = 0.0.0.0,Culture = neutral,PublicKeyToken ='。也许它在Mono for Android配置文件中不存在?文件名:'myApp.dll'
我希望这可以帮助其他人解决问题。
另一答案这不是一个明确的答案,但由于这种类型的依赖性问题似乎在多个地方蔓延,我终于找到了一种方法来至少看到重叠的位置。请参见屏幕截图如下。只需使用assember资源管理器“搜索”功能在错误消息中找到命名空间。然后单击命名空间,它将弹出重复的条目及其dll位置。
文章图片
文章图片
另一答案对于任何可能会遇到这种情况的人来说,我的诀窍是放弃我的
app/app/obj/Debug/app.Core.csprojFileListAbsolute.txt
和app/app.Droid/Resources/Resource.Designer.cs
文件中的所有更改,然后删除bin
和obj
文件夹的内容,最后重建项目。推荐阅读
- 获取ObtainStyledAttributes以在Android的xamarin中正常工作
- ObjectMapper如果某些字段无法转换为对象的默认值
- 如何在Symfony 3中使用纯PHP编译LESS
- 如何使用Smarty循环显示字母和数字的列表
- 如何在Silex中将PHP用作模板引擎而不是Twig
- 如何轻松将项目推到Twig中的数组
- PHP函数”func_get_arg”和”func_get_args”如何从PHP 5.x更改为PHP 7.x
- 如何使用短语法使用Twig检查变量是否存在以及是否为空
- 如何安全处理PHP错误(__toString()不得抛出异常)