【发布时间】:2020-08-20 18:17:36
【问题描述】:
您好 Stackoverflow 社区,
我正在为我的 Xamarin 跨平台应用程序创建一个 .Net Standard 2.0 库项目。
对于引用上述项目的 Droid 项目,我收到以下 NuGet 包之一的错误:
Can not resolve reference: 'GalaSoft.MvvmLight', referenced by 'NetStdLibProject'. Please add a NuGet package or assembly reference for 'GalaSoft.MvvmLight', or remove the reference to 'NetStdLibProject'. NetProject.Droid
我已将以下 NuGet 包添加到我的 NetStdLibProject 项目中:
MVVMLight (5.4.1.1)
MVVMLightLibs (5.4.1.1) [这有以下警告]
(使用 '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1 恢复包 'MvvmLightLibs 5.4.1.1' , .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' 而不是项目目标框架 '.NETStandard,Version=v2.0'。此包可能与您的项目不完全兼容。)
请告知是否有办法处理这种情况,或者即使我遗漏了什么。 另外,如果我需要包含其他相关/有益的软件包,请告诉我。
PS:我和我的同事使用 Visual Studio 2019(Windows 和 Mac 都有,Mac for IOS 部分有点具体)
感谢您的阅读,非常感谢任何帮助。
【问题讨论】:
-
粗略浏览一下他们的网页会显示该库的 .NET Standard 版本 - nuget.org/packages/MvvmLightLibsStd10
-
嗨@Jason,感谢您的回复。我将 MVVMLightLibsStd10 添加到我的 NetStdLibProject 项目中。这就是引用现在的样子:MVVMLight (5.4.1.1) MVVMLightLibsStd10 (5.4.1.1) -> GalaSoft.MvvmLight.dll。该项目正确构建。但是,Droid 项目仍然给出相同的参考错误。
-
嗨@Jason,我也从我之前的评论中删除了 .MVVMLight (5.4.1.1) 引用。这就是引用现在的样子:MVVMLightLibsStd10 (5.4.1.1) -> GalaSoft.MvvmLight.dll。该项目正确构建。但是,Droid 项目仍然给出相同的参考错误。
-
查看我的更新答案,您必须为解决方案中的所有项目安装 MVVMLightLibsStd10。
-
嗨@JackHua-MSFT,感谢您的回复。根据您的建议,我也将 MVVMLightLibsStd10 添加到了我的 Droid 项目中。这导致了此错误:“在此项目中找不到 App.xaml 文件,没有进行其他更改。如果您在 PCL 中安装,请改用 'MVVM Light Libs Only'。”然后我安装了“MVVMLightLibs”。没有帮助。如果我删除 'MVVMLightLibsStd10' 引用并重建,我会收到许多类似于:“错误:com.google.android.gms.common.api 包不存在 com.google.android.gms.common.api.ResultCallback”的错误许多类似的 .java 文件。
标签: .net visual-studio xamarin nuget .net-standard-2.0