web-dev-qa-db-ja.com

Xamarin:指定された名前に一致するリソースが見つかりません(AppCompat)

Azureに仮想マシンを展開しました。 Visual Studio 2015、Xamarin、その他のモバイル開発ツールをインストールしました。ローカルコンピューターで同じセットアップを行って、Visual Studioのデバイスでアプリをテストしました

唯一の違いはAndroid SDKのインストールです。ローカルマシンには、イメージシステムがありません。

Android DSK Manager

仮想マシンでアプリケーションを開発しました。コンパイル中にエラーはありません。 Android.Support.Design、Android.Support.V4、Android.Support.V7.AppCompat、Android.Support.V7.RecyclerView(NuGetの最新リリース)およびそれらのMvvmCross実装を使用します。

My Azure Virtual Machine

ローカルコンピューターでアプリケーションの開発を続けたいと思いました。 NuGetパッケージが適切に復元されます。

アプリをビルドすると、いくつかのエラーが発生します。

My Local Machine

_Error       Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.  Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       Error retrieving parent for item: No resource found that matches the given name 'Base.Widget.AppCompat.Button'. Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'buttonStyle'.  Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'colorAccent'.  Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'colorPrimary'. Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'colorPrimaryDark'. Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'windowActionBar'.  Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'windowNoTitle'.    Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'windowNoTitle'.    Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
_

試しました

  • 「@Android:styles/Theme.AppCompat.Light.DarkActionBar」およびその他(Android/styles)によって「Theme.AppCompat.Light.DarkActionBar」を変更する
  • C:\Program Files (x86)\Android\android-sdk\extras\Android\support\v7\appcompat\project.propertiesで_target=Android-19_を_target=Android-21_に変更するには

誰かが問題を教えてくれますか?落とした。同じOS、同じツール、同じSDK、同じJDK、

15
Andres Talavera

Xamarin ComponentsからNuGetパッケージに切り替えたところ、動作します。 MvvmCrossは、その依存関係(MvvmCross.Droid.Support.V4、MvvmCross.Droid.Support.V7.AppCompat、MvvmCross.Droid.Support.V7.Preference ...)のために、パッケージNuget(23.3.0)の最新バージョンをインストールしました。以前に使用したコンポーネント。

また、仮想マシンから「C:\ Users\andres\AppData\Local\Xamarin」フォルダーをコピーする必要がありました。

Visual Studioでは、コンポーネントの利用可能な更新に関する通知はありませんでした。

0
Andres Talavera

Mac上のXamarin Studioでも同じ問題が発生しました。この問題を解決するために私がしたことは、NuGetパッケージXamarin.Android.Support.v7.AppCompat。 Visual Studioでも同じアプローチを使用して問題を解決できると思います。

ご覧ください
enter image description here

13
Nghiem Dao

私の場合、"Minimum Android Version" API 21、しかし"Target Android Version" 「ターゲットフレームワークバージョン(API 23)を使用する」ですが、以前は機能していなかったため、両方のバージョンをAPI 21として指定し、突然すべてが予期したとおりに動作し始めました。

後で最小AndroidバージョンはAPI 21でターゲットAndroidバージョンは「ターゲットフレームワークバージョン(API 23)を使用」として変更しました

5
Boobalan

style.xmlでこれらのアイテムを使用していたため、同じ問題が発生しました

  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>

しかし、color.xml内にはcolorAccentが定義されていません

<resources>
<color name="primary">#2196F3</color>
<color name="primaryDark">#1976D2</color>
<color name="accent">#FFC107</color>
 <color name="window_background">#F5F5F5</color>
 <color name="splash_background">#3498DB</color>

追加するだけで解決

<color name="colorAccent">#3498db</color>
2

手順は次のとおりです。

新しいアプリの作成 enter image description here

次に、「Xamarin.Android.Support.v7.AppCompat」を右クリックし、「更新」を選択します。

IDEがアプリの更新と再構築を完了するまで待ちます。 enter image description here

1
Nghiem Dao

これを試して。

C:\Program Files (x86)\Android\android-sdk\extras\Android\support\v7\appcompatに移動します。

開いた project.propertiesファイル。

ターゲットを変更Androidにtarget=Android-21

1
Vaikesh

私の場合、Xamarin.SupportのバージョンをTarget Frameworkのバージョンに一致させました。

例:25 APIを対象とする場合、サポートライブラリも25.xである必要があります。

0
Afzal Ali

プロジェクトをあるフォルダーから別のフォルダーに移動した後、まったく同じラップトップで同じ問題が発生しました。私は試行錯誤を経て動作しましたが、それでも問題の原因はわかりません。それを修正するには、ソリューションを数回クリーニングし、Visual Studioを再起動する必要がありました。

0
tamj0rd2

私の場合、Android-layout-xml.xsdメニューの下にschemas.Android.com.apk.res.Android.xsdXML -> Schemasを追加することでこの問題を修正できました(axmlファイルの場合のみアクセス可能です)。これらのファイルの正確な場所については、他の回答で提案されているように、Xamarinのフォルダー内にないため、コンピューターで検索することをお勧めします。私の場合、それらはobjフォルダー[obj -> Debug -> Schemas ...]の下のプロジェクトにありました。

これがあなたの問題に役立つことを願っています。

0
Adrian C.

これらのいずれかまたはすべてを指定された順序で試してください。

  1. ソリューション全体のパッケージの復元
  2. Visual Studioを再起動します
  3. クリーン&リビルド

それは私のために問題を解決しました

0
James Wierzba

コンパイルSDKバージョンは、サポートライブラリのメジャーバージョンと一致する必要があります。

サポートライブラリv23を使用しているため、Android SDKのv23に対してコンパイルする必要があります。

または、最新のサポートライブラリv22に切り替えて、Android SDKのv22に対してコンパイルを続行できます。

0
Kokul Jose

仮想マシンでVisual Studioを使用せずにMSBuildを使用すると、同様の問題が発生しました。 Xamarin Androidプロジェクトをビルドしようとしました。「テーマtheme.appcompat.light.darkactionbarの親を取得中にエラーが発生しました。」というメッセージが表示されたままでした。引数/ t:restore-たとえば

msbuild  /t:SignAndroidPackage /t:restore /p:Configuration=Release <project path>

復元引数を指定して最初に実行したときはまだ失敗しましたが、再度ビルドしようとすると機能しました。これが誰かの助けになることを願っています-MSBuildを適切に設定するのに数時間かかりました!

私の場合、問題はローカルのNuget Package Serverがあることです。

Xamarin Studioが間違ったソースからパッケージを更新しようとしていたことに気づくまでしばらくかかりました。

0
mrelva

スタイルから参照されている属性のエラーが発生していたため、attrs.xmlの名前をAttrs.xmlに変更しました(クリーンな再構築後にエラーが再び発生した場合は元に戻ります)。

0
samis