Я сталкиваюсь с особой ошибкой при разработке на Visual Studio 2017, которую я мог игнорировать на некоторое время, но теперь начинает действительно меня пугать.
Я рассматриваю эту проблему как ошибку, а не ошибку, потому что я все еще могу создавать свои проекты в Visual Studio и развертывать их на своем устройстве разработки без ошибок или предупреждений из вывода сборки. Может показаться, что это можно игнорировать, но со временем это стало проблемой, потому что мой intellisense подчеркивает ее красным цветом как ошибку
каждый раз, когда я ссылаюсь на атрибуты из класса Resource. Как вы могли догадаться, я отношусь к этому классу много, и редактор Visual Studio в конечном итоге становится загроможденным этими "ошибками", которые (а) мешают моей способности находить фактические ошибки в моем коде и (б) раздражают меня вне всяких причин...
"Ошибка" расследования
- Как показано на последнем изображении, intellisense собирает "Неоднозначную ссылку" на каждый атрибут класса Resource. Когда я проверяю файл Resource.Designer.cs, я вижу только одну ссылку, но получаю вторую ошибку
.
- Теперь мне говорят, что "Участник с тем же именем уже объявлен". Это заставило меня поверить, что есть второй файл Resource.Designer.cs, но мой обозреватель решений и обозреватель Windows показывают только один.
Попытки решения
- Изменено пространство имен из InventoryApp (пространство имен по умолчанию для файла) в InventoryApp.Resources. Это избавит меня от ужасных ошибок, но, создав проект, он вернет пространство имен в файл обратно к нему по умолчанию, и ошибки появятся. Мне также сказал кто-то, кто знает лучше, что это большой нет-нет.
- Удалил файл Resource.Designer.cs, удалил папки "obj" и "bin" из проекта, очистил и перестроил решение, а затем добавил новый файл Resource.Designer.cs обратно в мое решение. Это не помогло решить проблему.
- Создал совершенно новый проект с нуля. Даже после создания Blank Android App из шаблонов Visual Studio ошибка сохраняется. Это вызывает вопрос: это проблема с моей установкой Xamarin.Android?
Побочные примечания
- Файл Resource.Designer.cs Build Action установлен в "Compile"
-
Файл конфигурации .csproj содержит теги:
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile> <AndroidResgenClass>Resource</AndroidResgenClass> <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies> <AndroidUseLatestPlatformSdk>false</AndroidUseLatestPlatformSdk> <TargetFrameworkVersion>v7.1</TargetFrameworkVersion> <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest> <MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix> <MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>