【发布时间】:2022-11-02 14:42:10
【问题描述】:
我有几个 MAUI 项目,其中包括对提供 API 访问的其他项目的引用。引用的项目生成 dll。当我在发布模式下编译 MAUI 应用程序并以我的物理 iPhone 为目标时,编译失败并显示“资产文件 '../project.Domain.Shared/obj/project.assets.json' 没有 'net6. 0-ios'。引用的项目是.dll生成项目,不应该(也不能)包含net6.0-ios属性。这个错误只有在我附加我的手机并在编译过程中定位它时才会出现。我可以附加Android 设备并在发布模式下无错误地编译,甚至创建存档。感谢您提供解决此问题的任何帮助。
我尝试在错误中引用的项目中添加 net6.0-ios 属性,但这样做会导致整个解决方案无法编译。我正在使用 Xcode 14.x,并且看到其他建议使用 13.x 版本的帖子可能会解决问题。我试过了,但仍然无法让项目正确编译。
【问题讨论】:
-
该错误主要发生在尝试创建存档时。我正在为 Mac 使用 VS 2022 预览版 4.0。
-
dll 针对哪些框架? AFAIK,应该能够将
.net6.0-ios应用程序与net6.0或netstandard2.1(或两者都支持)的dll 链接。 -
我刚刚注意到
Asset file消息。多目标构建器不知道将 dll 的 iOS 资产放在哪里。您可能需要更改包含和引用这些资源的方式。我不知道细节,但鉴于您说“不应该也不能包含 net6.0-ios 属性”,他们需要保留跨平台捆绑包的一部分。 ios 资产构建器根本不应该看到它们。 -
该 dll 以 netstandard2.1 为目标。
-
“只有在我连接手机并在编译期间定位它时才会出现此错误。”选择配置(发布 | iPhone)后,项目属性/iOS 构建/链接器的当前值是多少?尝试不同的设置。 [不要链接|仅框架 |全部链接]
标签: maui visual-studio-mac-2022