gpt4 book ai didi

visual-studio - Xamarin.Android:包 XX 与 monoandroid81 不兼容(MonoAndroid,版本=v8.1)

转载 作者:行者123 更新时间:2023-12-02 20:22:47 24 4
gpt4 key购买 nike

我在 Windows 上的 Visual Studio 中遇到 Xamarin.Android 项目的异常行为。

我创建了一个新的 Android 空白项目,并尝试安装 NuGet 包“AForge”(一个数学库),但出现以下错误留言:

Package AForge 2.2.5 is not compatible with monoandroid81 (MonoAndroid,Version=v8.1).

在重新启动 Visual Studio 和计算机后,我已经尝试重新创建几个项目,但问题仍然相同。

但是,如果我在 Mac 上通过 Visual Studio for Mac 执行相同的操作,我不会遇到同样的问题:包已正确安装。

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

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AForge" version="2.2.5" targetFramework="monoandroid81" />
</packages>

您对这个问题有什么解释吗?

更新:新问题

您好@Leo Liu-MSFT,我遇到新问题时会回来找您。 dll 副本在本地工作正常,但我在 AppCenter 上收到错误:

CoreCompile:
/Library/Frameworks/Mono.framework/Versions/5.10.1/lib/mono/4.5/csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE;XAMARIN_ANDROID_v1_0;MOBILE;ANDROID;ANDROID_1;ANDROID_2;ANDROID_3;ANDROID_4;ANDROID_5;ANDROID_6;ANDROID_7;ANDROID_8;ANDROID_9;ANDROID_10;ANDROID_11;ANDROID_12;ANDROID_13;ANDROID_14;ANDROID_15;ANDROID_16;ANDROID_17;ANDROID_18;ANDROID_19;ANDROID_20;ANDROID_21;ANDROID_22;ANDROID_23;ANDROID_24;ANDROID_25;ANDROID_26;ANDROID_27 /reference:/Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/Java.Interop.dll /reference:/Users/vsts/.nuget/packages/microsoft.appcenter.analytics/1.7.0/lib/MonoAndroid403/Microsoft.AppCenter.Analytics.Android.Bindings.dll /reference:/Users/vsts/.nuget/packages/microsoft.appcenter.analytics/1.7.0/lib/MonoAndroid403/Microsoft.AppCenter.Analytics.dll /reference:/Users/vsts/.nuget/packages/... Services/AudioService.cs(8,7): error CS0246: The type or namespace name 'AForge' could not be found (are you missing a using directive or an assembly reference?) [/Users/vsts/agent/2.136.1/work/1/s/XxxApp/XxxApp.csproj] Done Building Project "/Users/vsts/agent/2.136.1/work/1/s/XxxApp/XxxApp.csproj" (PackageForAndroid target(s)) -- FAILED.

所以我尝试了你的建议,但是当我尝试保存包时出现错误:

a local file header is corrupted'

您还有其他建议吗?

最佳答案

Would you have any explanation about this issue?

可以获取官方文档 here :

Description: With PackageReference, assemblies present at the root of lib folder without a target framework specific sub-folder are ignored. NuGet looks for a sub-folder matching the target framework moniker (TFM) corresponding to the project’s target framework and installs the matching assemblies into the project.

在这种情况下,NuGet 会考虑将此包安装到与 monoandroid81 不兼容的 .NET Framework 中。然后你会报错“Package AForge 2.2.5 is not compatible with monoandroid81”。

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

此外,如果您仍然想使用 nuget 来管理这个包,我想为您提供一个解决此问题的方法:

  1. nuget.org 下载这个 nuget 包.

  2. 复制下载包,重命名为.zip , 比如 aforge.2.2.5 - Copy.nupkg.zip , 然后解压。

  3. 打开包裹aforge.2.2.5.nupkg使用 NuGet Package Explorer(从 Microsoft 商店获取),添加一个新文件夹 MonoAndroid81在 lib 节点下,从复制文件夹 aforge.2.2.5 - Copy.nupkg.zip 添加现有文件 AForge.dll 和 AForge.xml , 保存这个 nuget 包。

  4. 将这个新创建的 nuget 包添加到 nuget 本地源,然后将这个 nuget 包添加到项目。不要忘记删除 C:\Users\<UserName>\.nuget\packages\aforge 中的 nuget 包缓存在添加包之前。

希望这对您有所帮助。

关于visual-studio - Xamarin.Android:包 XX 与 monoandroid81 不兼容(MonoAndroid,版本=v8.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50905545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com