少し前にVisualStudioを7.5にアップデートしてから、Xamarin.AndroidプロジェクトのResource.Id
でリソースを参照する箇所全てで以下の警告が出るようになりました。
Ambiguity between 'Resource.Id.xxx' and 'Resource.Id.xxx'
ビルドエラーになるわけでは無いので放っておいたのですが、結構目立つので解決策を調べてみました。
起きている現象
こんな感じで、Resource.Id.xxx
の箇所全てに波線が引かれています。
ビルドに問題はありませんが、目障りですね。
現象が起きた環境
一部抜粋です。
=== Visual Studio Community 2017 for Mac ===
Version 7.5.1 (build 22)
=== Xamarin.Profiler ===
Version: 1.6.2
=== Xamarin.Android ===
Version: 8.3.0.19 (Visual Studio Community)
=== Xamarin Inspector ===
Version: 1.4.0
=== Operating System ===
Mac OS X 10.13.5
解決策
ちょろっと調べたらすぐ出てきました。
Updating to Visual Studio Community 7.5 causes ambiguous resource layouts #1670
上記のうち、ちょうど現時点(2018/06/22)の前日に投稿されたコメント(なんてタイムリー!)のやり方が私の環境では効きました。
その方法は、
対象となるプロジェクトのcsproj
ファイルの各PropertyGroup
内に
<AndroidUseManagedDesignTimeResourceGenerator>False</AndroidUseManagedDesignTimeResourceGenerator>
を追加してビルドするだけです。
こんな感じです。
<PropertyGroup
<AndroidUseManagedDesignTimeResourceGenerator>False</AndroidUseManagedDesignTimeResourceGenerator>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
...
</PropertyGroup>
上記の後にビルドしたところ、先ほどまでの波線がスッキリ消えました!
これで快適に開発が続けられそうです。