Prism 模板包 2.0,IllegalArgumentException

Posted

技术标签:

【中文标题】Prism 模板包 2.0,IllegalArgumentException【英文标题】:Prism Template Pack 2.0, IllegalArgumentException 【发布时间】:2017-11-13 13:09:50 【问题描述】:

使用Prism Template Pack 2.0构建时发生错误。

我创建了一个 Xamarin.Forms (android / ios) 项目。 接下来,我安装了Xam.Plugin.Media using NuGet。 当我运行构建时,我收到一个错误java.lang.IllegalArgumentException: already added

为了避免这个错误,我尝试修改 packages.config 文件,但该文件在任何地方都不存在。 (对于 Prism Template Pack 1.x,可以通过修改 packages.config 文件来避免问题)

我怎样才能避免这个问题?

【问题讨论】:

【参考方案1】:

Prism Template Pack 2.0 使用新的基于 .NET Standard 的项目系统。这意味着不再有 packages.config。 Nugets 在项目的 csproj 文件中定义。您也不需要将 Nuget 包添加到解决方案中的每个项目。只需将其添加到主 XF 项目,Android/iOS 项目将自动继承 NuGet 引用。

【讨论】:

谢谢布赖恩。在项目中注册同一个支持库的多个版本时会出现此错误。但是,支持库并没有写在主项目的 csproj 文件中。项目中使用的支持库版本在哪里? 错误: java.lang.IllegalArgumentException:已添加:Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat; [主项目.csproj文件]: netstandard2.0 PropertyGroup> 它们继承自 XF 主项目。您可以尝试将它们直接添加到 Android 项目中,看看是否有帮助。 您也可以尝试删除每个项目的 obj 和 bin 文件夹

以上是关于Prism 模板包 2.0,IllegalArgumentException的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin+Prism开发详解一:PCL跨平台类库与Profile的关系

Prism框架研究

使用Prism6 建立 Windows 10 通用程序.

Prism入门之模块(Module)

WPF Step By Step 系列5-Prism框架在项目中使用

WPF Step By Step 系列5-Prism框架在项目中使用