无法使用 DevExpress XPO 将 Xamarin Forms 项目构建到 iOS
Unable to build Xamarin Forms project to iOS with DevExpress XPO
只要在我的 XamarinForms 应用程序中引用 DevExpress XPOCore (https://www.nuget.org/packages/DevExpress.Xpo) iOS 就拒绝构建 - 所有其他平台都可以正常构建。 (Android 和 UWP)
我必须补充一点,这个问题在构建我的 iPad 和模拟器时很明显。
所有选择的包都是最新稳定的。
我在 windows 上使用 Visual Studio 的最新社区版本,它连接到 Mac Mini 运行 最新的 macOS(莫哈韦沙漠)
当我尝试构建 DevExpress 演示时,问题也很明显 - https://github.com/DevExpress/XpoNetCoreDemos
由于 XPO 是一个免费的 nuget 包 - 我不能直接向 DevExpress 寻求支持。我发现的东西有点相似,但没有太大帮助 - https://www.devexpress.com/Support/Center/Question/Details/T643780/xpo-core-system-drawing-common-filenotfoundexception-in-xamarin-android
visual studio 中的错误信息 return 是 -
Failed to resolve "System.Drawing.Image" reference from
"System.Drawing.Common, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=cc7b13ffcd2ddd51" DevExpress.Xpo.XamarinFormsDemo.iOS
C:\Program Files (x86)\Microsoft Visual
Studio17\Community\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets
来自输出
1> C:\Program Files (x86)\Microsoft VisualStudio17\Community\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(795,3):
error MT2002: Failed to resolve "System.Drawing.Image" reference from
"System.Drawing.Common, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=cc7b13ffcd2ddd51"
1>
1> 2 Warning(s)
1> 1 Error(s)
编辑 - 在 /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/Facades 中检查 Mac - 并且 System.Drawing.Common 已经存在。
编辑 - 将在自动配置模拟器上构建和 运行,但不会通过手动配置构建到连接到 mac 的物理 iPad,但其他应用程序会这样做。 (不使用 XPO)(在 iOS 上使用 XPO 的所有应用程序出现与上述相同的错误)
编辑 - 它在模拟器中工作(构建) - 使用自动配置时,只要您将配置设置为手动并设置有效的配置文件(来自 mac)并尝试部署到我无法构建设备 (iPad),出现上面列出的错误。
Xamarin 链接器似乎没有添加所有必需的依赖项。
在 iOS Build 选项卡中,在项目设置中,将 Linker Behavior 属性 设置为 'Link All'
这允许将应用程序部署到 iOS 设备。
只要在我的 XamarinForms 应用程序中引用 DevExpress XPOCore (https://www.nuget.org/packages/DevExpress.Xpo) iOS 就拒绝构建 - 所有其他平台都可以正常构建。 (Android 和 UWP)
我必须补充一点,这个问题在构建我的 iPad 和模拟器时很明显。
所有选择的包都是最新稳定的。
我在 windows 上使用 Visual Studio 的最新社区版本,它连接到 Mac Mini 运行 最新的 macOS(莫哈韦沙漠)
当我尝试构建 DevExpress 演示时,问题也很明显 - https://github.com/DevExpress/XpoNetCoreDemos
由于 XPO 是一个免费的 nuget 包 - 我不能直接向 DevExpress 寻求支持。我发现的东西有点相似,但没有太大帮助 - https://www.devexpress.com/Support/Center/Question/Details/T643780/xpo-core-system-drawing-common-filenotfoundexception-in-xamarin-android
visual studio 中的错误信息 return 是 -
Failed to resolve "System.Drawing.Image" reference from
"System.Drawing.Common, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=cc7b13ffcd2ddd51" DevExpress.Xpo.XamarinFormsDemo.iOS
C:\Program Files (x86)\Microsoft Visual
Studio17\Community\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets
来自输出
1> C:\Program Files (x86)\Microsoft VisualStudio17\Community\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(795,3):
error MT2002: Failed to resolve "System.Drawing.Image" reference from
"System.Drawing.Common, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=cc7b13ffcd2ddd51"
1>
1> 2 Warning(s)
1> 1 Error(s)
编辑 - 在 /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/Facades 中检查 Mac - 并且 System.Drawing.Common 已经存在。
编辑 - 将在自动配置模拟器上构建和 运行,但不会通过手动配置构建到连接到 mac 的物理 iPad,但其他应用程序会这样做。 (不使用 XPO)(在 iOS 上使用 XPO 的所有应用程序出现与上述相同的错误)
编辑 - 它在模拟器中工作(构建) - 使用自动配置时,只要您将配置设置为手动并设置有效的配置文件(来自 mac)并尝试部署到我无法构建设备 (iPad),出现上面列出的错误。
Xamarin 链接器似乎没有添加所有必需的依赖项。
在 iOS Build 选项卡中,在项目设置中,将 Linker Behavior 属性 设置为 'Link All'
这允许将应用程序部署到 iOS 设备。