Visual studio Android:Package XX与monoandroid81不兼容(MonoAndroid,Version=v8.1)

Visual studio Android:Package XX与monoandroid81不兼容(MonoAndroid,Version=v8.1),visual-studio,xamarin.android,mono,nuget,nuget-package,Visual Studio,Xamarin.android,Mono,Nuget,Nuget Package,我在Windows上的Visual Studio中遇到了一个Xamarin.Android项目的陌生人行为 我创建了一个新的Android blank项目,并尝试将NuGet软件包安装到一个数学库中,但收到以下错误消息: 包装AForge 2.2.5与monoandroid81不兼容 MonoAndroid,版本=v8.1 在重新启动VisualStudio和计算机之后,我已经尝试重新创建几个项目,但问题仍然是一样的 然而,如果我在Mac上通过Visual Studio for Mac做同样的事

我在Windows上的Visual Studio中遇到了一个Xamarin.Android项目的陌生人行为

我创建了一个新的Android blank项目,并尝试将NuGet软件包安装到一个数学库中,但收到以下错误消息:

包装AForge 2.2.5与monoandroid81不兼容 MonoAndroid,版本=v8.1

在重新启动VisualStudio和计算机之后,我已经尝试重新创建几个项目,但问题仍然是一样的

然而,如果我在Mac上通过Visual Studio for Mac做同样的事情,我不会遇到同样的问题:软件包安装良好

在add中,我可以在package.config文件中看到,包il与monodroid81密切相关:

你能解释一下这个问题吗

更新:新一期

您好@Leo Liu MSFT,当我遇到一个新问题时,我回到您身边。dll副本在本地工作正常,但在AppCenter上出现错误:

核心编译: /Library/Frameworks/Mono.framework/Versions/5.10.1/lib/Mono/4.5/csc.exe /noconfig/nowarn:17011702/nostlib+/errorreport:prompt/warn:4 /定义:调试;查出XAMARIN_ANDROID_v1_0;可移动的安卓安卓1;安卓2;安卓3;安卓4;安卓5;安卓6;安卓7;安卓8;安卓9;安卓10;安卓11;安卓12;安卓13;安卓14;安卓15;安卓16;安卓17;安卓18;安卓19;安卓20;安卓21;安卓22;安卓23;安卓24;安卓25;安卓26;安卓27 /参考:/Library/Frameworks/Mono.framework/External/xbuild-Frameworks/monoadroid/v1.0/Java.Interop.dll /参考:/Users/vsts/.nuget/packages/microsoft.appcenter.analytics/1.7.0/lib/MonoAndroid403/microsoft.appcenter.analytics.Android.Bindings.dll /参考:/Users/vsts/.nuget/packages/microsoft.appcenter.analytics/1.7.0/lib/MonoAndroid403/microsoft.appcenter.analytics.dll /参考:/Users/vsts/.nuget/packages/。。。 Services/AudioService.cs8,7:错误CS0246:类型或命名空间 找不到名称“AForge”是否缺少using指令或 程序集引用? [/Users/vsts/agent/2.136.1/work/1/s/XxxApp/XxxApp.csproj]完成 建筑工程 /Users/vsts/agent/2.136.1/work/1/s/XxxApp/XxxApp.csproj PackageForAndroid目标-失败

因此,我尝试了您的建议,但在尝试保存软件包时出现了一个错误:

本地文件头已损坏'

你还有别的建议吗

你能解释一下这个问题吗

您可以获得官方文件:

描述:使用PackageReference时,程序集位于 忽略没有目标框架特定子文件夹的lib文件夹。 NuGet查找与目标框架名字对象匹配的子文件夹 TFM对应于项目的目标框架,并安装 将程序集匹配到项目中

在这种情况下,NuGet会考虑将这个包安装到.NETFramework,它与MyDANDROID821不兼容。然后您会发现错误包AForge 2.2.5与monoandroid81不兼容

要解决此问题,最好的方法是联系AForge NuGet包的作者以更新此包,或者您也可以将引用dll文件直接添加到项目中

此外,如果您仍然希望使用nuget管理此软件包,我将为您提供解决此问题的解决方法:

从下载此nuget软件包

复制下载包,将其重命名为.zip,如arge.2.2.5-Copy.nupkg.zip,然后解压缩

使用NuGet package ExplorerGet从Microsoft store中打开包aforge.2.2.5.nupkg,在lib节点下添加新文件夹MonoAndroid81,从复制文件夹aforge.2.2.5-copy.nupkg.zip中添加现有文件aforge.dll和aforge.xml,保存此NuGet包

将这个新的CREATENUGET包添加到nuget本地提要,然后将这个nuget包添加到项目中。在添加包之前,不要忘记删除C:\Users\\.nuget\packages\a文件夹中的nuget包缓存


希望这有帮助。

您是否安装了最新版本的visual studio更新?IDE visual studio窗口右上角是否有黄色标志?您好@Digitalsa1nt谢谢您的反馈。我需要安装最新版本,但我不确定这是什么原因…这是值得做的,老实说,我在过去看到过导致软件包问题的原因。通常是由于库中的依赖关系。嗨,Leo,我添加了.dll,它似乎是这样工作的。在第二次,我会看看我是否可以通过一个适当的方式修复它。非常感谢。嗨,利奥,当我遇到新问题时,我已经更新了描述。我试图更新软件包,但没有成功。
<?xml version="1.0" encoding="utf-8"?>
<packages>
    <package id="AForge" version="2.2.5" targetFramework="monoandroid81" />
</packages>