【问题标题】:The "LinkAssemblies" task failed unexpectedly - SB4018: System.IO.FileNotFoundException“LinkAssemblies”任务意外失败 - SB4018: System.IO.FileNotFoundException
【发布时间】:2019-12-30 13:06:36
【问题描述】:

上周我在构建 Xamarin.Android 以供发布时突然遇到此错误。上次我为发布构建项目时一切正常。

当我选择不链接程序集时,项目会构建,但是当我使用“仅链接 SDK 程序集”时,它会失败。它在我拥有的每个分支上都失败了。我试图建立我的主分支,自上次工作以来没有改变,现在也失败了。

我也尝试删除 bin & obj 并检查 Android 版本和包匹配

Visual Studio 更新了,也重新安装了,也重新安装了 Xamarin 和 Android SDK。

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2145,5):错误MSB4018:“LinkAssemblies”任务意外失败 /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamrin.Android.Common.targets(2145,5):错误MSB4018:System.IO.FileNotFoundException:无法加载程序集'ProjectName.Droid,版本= 0.0.0.0,文化=中性,PublicKeyToken='。也许它在 Mono for Android 配置文件中不存在?

【问题讨论】:

  • 您是否尝试将链接设置为None
  • 然后它确实构建并运行,但这不是一个解决方案。该应用程序会很大

标签: visual-studio xamarin xamarin.forms xamarin.android visual-studio-mac


【解决方案1】:

更新

我从 Xamarin.Android 贡献者那里得到了答案,他解释了构建过程发生了什么。 “SignAndroidPackage”MSBuild 目标不再依赖于“Build”目标,因此,我认为,这意味着如果 Android 项目的“DefaultTargets”设置为仅“SignAndroidPackage”,那么该目标将无法找到项目编译的 DLL因为它没有建成。 因此,我认为这就是我们的“LinkAssemblies”任务失败的原因。

为了解决这个错误,我在“SignAndroidPackage”之前添加了“Build”目标。

旧评论

在迁移到 Visual Studio 2019 后,我的项目中遇到了同样的错误。 Visual Studio 2017 和 Visual Studio for Mac 一切正常。因此我推测它可能是一个错误并在 GitHub 上提出了一个问题。

我们都可以在这里关注它:https://github.com/xamarin/xamarin-android/issues/3715

【讨论】:

  • 不应该是评论而不是回答吗?
  • @AlexanderLysenko,我很乐意这样做,但我的名声太低了:)
  • 好的 - 只要确保你有必要的声誉在未来将这些作为 cmets 发布
  • 我一定会的!感谢理解!
【解决方案2】:

解决方案是从 android.csproj 文件中删除 <RunCodeAnalysis>true</RunCodeAnalysis>。问题是链接器在包准备好链接之前尝试了链接。

【讨论】:

    猜你喜欢
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多