.NET for Android 项目无法访问引用项目中的资源

问题描述 投票:0回答:1

我有一个

Solution
,其中包含 2 个
Project
,一个包含
Resource
Class
,另一个是 .NET for Android 应用程序(引用第一个)。第一个
Project
编译没有问题,但第二个似乎无法找到位于第一个
Resource
中的
Project
。第二个
Project
能够毫无问题地访问
Class
和方法,只是不能访问
Resource
。两个
Project
都能够毫无问题地访问自己的
Resource
,因此
Resource
显然正在生成。以下是第二个
Project
产生的一些错误:

APT2260 resource style/BasicEditTextStyle (aka com.companyname.ScorePad:style/BasicEditTextStyle) not found.    ScorePad    C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\35.0.7\tools\Xamarin.Android.Aapt2.targets
CS0117  'ResourceConstant.Color' does not contain a definition for 'Transparent'    ScorePad    D:\NetForAndroid_Experimental\ScorePad\PointsAdapter.cs
APT2260 resource color/Gray (aka com.companyname.ScorePad:color/Gray) not found.    ScorePad    D:\NetForAndroid_Experimental\ScorePad\Resources\values\styles.xml
APT2062 failed linking references.  ScorePad    C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\35.0.7\tools\Xamarin.Android.Aapt2.targets

请注意,所有这些错误中列出的

Project
都是“ScorePad”(作为应用程序的项目),即使
Resource
位于其他
Project
中。我不知道它是否相关,但我也收到以下错误:

CS8700  Multiple analyzer config files cannot be in the same directory ('D:\NetForAndroidAppExtras').   NetForAndroidAppExtras  D:\NetForAndroidAppExtras\CSC

请注意,此错误中列出的

Project
是“NetForAndroidAppExtras”(包含资源的项目)。这可能与问题有关吗?为什么我的应用程序
Project
能够找到
Class
,但找不到
Resource
?谢谢!

c# android .net resources android-resources
1个回答
0
投票

我不能保证这就是原因,但当我这样做时它修复了它,所以我想这有资格作为答案。大多数

*.xml
文件(包括资源布局组件中的布局文件)的第一行如下:

<?xml version="1.0" encoding="utf-8"?>

但是,一旦我将其从资源的

values
目录中的
attrs.xml
colors.xml
strings.xml
styles.xml 文件中删除,一切似乎都正常(资源已重新生成并且我能够访问引用它们的项目中的资源)。这并没有修复我原来的帖子中提到的CS8700 Multiple分析器…错误,但我认为它们从来没有真正相关过,所以这对于另一个问题来说可能更好。我没有从任何其他
*.xml
文件中删除此行(仅从根标签为
<resources>
的文件中)。我不知道为什么会解决这个问题,但希望它也能解决其他人的问题。祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.