【发布时间】:2019-12-13 10:17:02
【问题描述】:
我可以在本地以调试和发布模式构建我的应用程序,但在 Appcenter 上构建失败。当我将我的项目克隆到不同的本地文件夹并运行它时,一切正常,所以似乎只有当我将它部署到 Appcenter 时才会出现问题。我已在我的 Xamarin.Forms android 项目的 Appcenter 构建设置中关闭了所有可能的设置。在 Appcenter 的构建设置中,我选择了 SDK 版本:Xamarin.Android 9.3(我对它的作用有点困惑)并将模式设置为 Release,就像我的本地项目一样。
我最终遇到了一堆错误,但对我来说突出的三个主要错误是:
警告 MSB3245:无法解析此引用。找不到程序集“Mono.Android”。 错误 MSB4018:“LinkAssemblies”任务意外失败。 错误 MSB4018:System.IO.FileNotFoundException:无法加载程序集 '[App name].Android 错误 MSB4018:文件名:'[App name].Android.dll'
我尝试将我的目标 android 版本更改为最新版本(Pie 9.0),而不是 Oreo 8.1。我尝试过链接:仅 Sdk 程序集、Sdk 和用户程序集,并且没有(这是链接器属性的所有可能选项)。我最初尝试支持 armeabi-47、x86,然后尝试添加 arm64 和 x86_64。
<PackageReference Include="CarouselView.FormsPlugin" Version="5.2.0" />
<PackageReference Include="Microsoft.AppCenter.Analytics" Version="2.1.1" />
<PackageReference Include="Microsoft.AppCenter.Crashes" Version="2.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.6" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
<PackageReference Include="Plugin.Permissions" Version="3.0.0.12" />
<PackageReference Include="PropertyChanged.Fody" Version="3.0.1" />
<PackageReference Include="Rg.Plugins.Popup" Version="1.1.5.188" />
<PackageReference Include="Xam.Plugin.Media" Version="4.0.1.5" />
<PackageReference Include="Xamarin.Forms" Version="4.1.0.618606" />
<PackageReference Include="Xamarin.Essentials" Version="1.2.0" />
<PackageReference Include="ZXing.Net.Mobile" Version="2.4.1" />
<PackageReference Include="ZXing.Net.Mobile.Forms" Version="2.4.1" />
预期:在 Appcenter 中构建的工作方式与在我清理过的本地计算机上一样。
实际:我在 Appcenter 日志中收到错误代码:
错误 MSB4018:“LinkAssemblies”任务意外失败。
错误 MSB4018:System.IO.FileNotFoundException:无法加载
程序集[应用名称].Android- 错误 MSB4018:文件名:'[App name].Android.dll'
- 错误 MSB4018:在 Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve
- 错误 MSB4018:在 Xamarin.Android.Tasks.LinkAssemblies.Execute
- 警告 MSB3245:无法解析此引用。找不到 程序集“Mono.Android”。
错误 CS0246 找不到类型或命名空间名称:
- “UsesFeatureAttribute”、“UsesFeature”、“必需”、“Android”
【问题讨论】:
-
这里是关于构建xamarin app的文章,大家可以看看:ecanarys.com/Blogs/ArticleID/338/App-Center-With-Xamarin-Forms
-
我悲伤地做了这一切,但无济于事。我在 AppCenter 上使用 Xamarin.Android 构建了其他应用程序,过去它们构建得很好,但由于某种原因,无论我在 appcenter 的构建设置中添加了什么,我的新项目几乎都失败了。
标签: c# xamarin xamarin.forms xamarin.android visual-studio-app-center