string[] items = Resources.GetStringArray(Resource.Array.your_array_name);
严重性 代码 说明 项目 文件 行 禁止显示状态 详细信息
警告 @(Content) build action is not supported
错误(活动) CS0117 “Resource”未包含“Array”的定义 App1
警告消息 “@(Content) build action is not supported” 通常表示项目中的某个文件的 Build Action
设置不正确。这可能导致资源无法正确构建,从而引起错误 “CS0117”。要解决这个问题,可以检查和纠正资源文件的 Build Action
。
解决方法:
-
检查 arrays.xml 的 Build Action:
- 在
Solution Explorer
中,找到arrays.xml
文件。 - 右键单击它,选择 “Properties”。
- 确保
Build Action
设置为AndroidResource
。
如果设置为其他值,如
Content
,则资源文件无法在编译时生成,这会导致Resource.Designer.cs
文件不包含该资源的引用。 - 在
-
清理和重新生成项目:
- 在 Visual Studio 中,右键单击项目,选择 “Clean”。
- 然后右键单击项目,选择 “Rebuild”。
这可以确保所有资源文件被正确编译和生成。
-
检查其他资源文件的 Build Action:
- 检查
Resources
文件夹中的所有文件,确保它们的Build Action
都是AndroidResource
。 - 确保整个
Resources
文件夹的结构正确,所有资源文件都在正确的位置。
- 检查
额外检查:
-
确保没有拼写错误:
- 检查代码中引用的资源名称,确保与
arrays.xml
中定义的名称完全匹配。 - 检查
Resource.Designer.cs
文件,确保没有拼写错误。
- 检查代码中引用的资源名称,确保与
-
删除 bin 和 obj 文件夹:
- 关闭 Visual Studio。
- 找到项目所在的文件夹,删除
bin
和obj
文件夹。 - 重新打开 Visual Studio,重新生成项目。
创建新项目测试:
如果以上步骤后仍有问题,建议创建一个新的 Xamarin.Android 项目,看看是否能正确生成资源和引用。这样可以帮助判断问题是特定于项目配置,还是与 Visual Studio 环境有关。
- 创建一个新的 Xamarin.Android 项目。
- 在
Resources/values
文件夹中添加arrays.xml
,并定义一个string-array
。 - 在代码中尝试引用这个数组,看看是否成功。
寻求社区帮助:
如果问题依然存在,建议在开发者社区(例如 Stack Overflow)上提问,描述问题并提供警告和错误信息,寻求社区的帮助。社区中的开发者可能会根据类似经验给出建议。