You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SetContentView引发LinkAssemblies任务失败及资源未生成问题求助

解决Lyrics Viewer应用的编译与资源引用问题

先抓最显眼的核心问题——拼写错误!你看你的Activity类名是LyricsViwerActivity,布局文件叫lyrics_viwer.axml,这里的Viwer应该是Viewer(少了个字母e)。这个拼写不一致直接导致资源无法被正确识别,VS提示Resource.Id找不到lyrics_viwer就是因为这个!

除此之外还有API调用错误,咱们一步步拆解解决:

1. 修正拼写与API调用错误

  • 把布局文件名从lyrics_viwer.axml改成lyrics_viewer.axml
  • 把Activity类名和注解里的标签统一改成LyricsViewerActivity
  • 关键修正:SetContentView的参数用错了!设置布局应该传Resource.Layout.xxx(布局文件资源),而不是Resource.Id.xxx(布局内控件的ID)。修正后的代码如下:
[Activity(Label = "LyricsViewerActivity")]
public class LyricsViewerActivity : Activity {
    protected override void OnCreate(Bundle savedInstanceState) {
        base.OnCreate(savedInstanceState);
        // 这里改成Resource.Layout引用布局文件
        SetContentView(Resource.Layout.lyrics_viewer);
    }
}

2. 解决"LinkAssemblies任务意外失败"错误

这个错误通常和资源引用异常、编译缓存或链接器设置有关,结合你的情况做以下操作:

  • 彻底清理重建项目:右键项目 → 清理,再右键 → 生成(不要直接点重建,先清理再生成能清空残留的错误缓存)
  • 调整链接器行为:打开项目属性 → Android选项 → 链接器,把链接行为改成Sdk Assemblies Only,避免链接器误删项目自身的程序集文件
  • 重新生成资源索引:手动删除项目里的Resources.designer.cs文件,然后重新生成项目,VS会自动重新生成正确的资源索引文件
  • 统一API版本设置:确保项目属性里的目标框架、编译版本、最低版本保持兼容(比如目标API设为21,编译版本也选21或更高的兼容版本)

做完这些操作后,重启VS再重新生成项目,应该就能解决这两个问题了。

内容的提问来源于stack exchange,提问作者androidWG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:52:30