我有一个
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
?谢谢!
我不能保证这就是原因,但当我这样做时它修复了它,所以我想这有资格作为答案。大多数
*.xml
文件(包括资源布局组件中的布局文件)的第一行如下:
<?xml version="1.0" encoding="utf-8"?>
但是,一旦我将其从资源的
values目录中的
attrs.xml
、colors.xml
、strings.xml
和 styles.xml
文件中删除,一切似乎都正常(资源已重新生成并且我能够访问引用它们的项目中的资源)。这并没有修复我原来的帖子中提到的CS8700 Multiple分析器…错误,但我认为它们从来没有真正相关过,所以这对于另一个问题来说可能更好。我没有从任何其他 *.xml
文件中删除此行(仅从根标签为 <resources>
的文件中)。我不知道为什么会解决这个问题,但希望它也能解决其他人的问题。祝你好运!