Имя не может начинаться с символа '$', шестнадцатеричного значения 0x24

У меня есть это предупреждение, которое никогда не исчезает, и я не знаю, как это исправить:

Предупреждение Имя не может начинаться с символа '$', шестнадцатеричного значения 0x24.

.Android C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Xamarin\Android

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets 1668 Build

После включения подробных подробностей он указывает на этот раздел файла Xamarin.Android.Common.targets:

<Target Name="_GenerateJavaStubs" DependsOnTargets="_SetLatestTargetFrameworkVersion;_PrepareAssemblies;$(_AfterPrepareAssemblies)" Inputs="$(MSBuildAllProjects);@(_ResolvedAssemblies);$(_AndroidManifestAbs);$(_AndroidBuildPropertiesCache)" Outputs="$(IntermediateOutputPath)android\AndroidManifest.xml;$(_AcwMapFile);$(_AndroidTypeMappingJavaToManaged);$(_AndroidTypeMappingManagedToJava)">
  <GenerateJavaStubs ResolvedAssemblies="@(_ResolvedAssemblies)" ResolvedUserAssemblies="@(_ResolvedUserAssemblies)" ManifestTemplate="$(_AndroidManifestAbs)" MergedManifestDocuments="@(ExtractedManifestDocuments)" Debug="$(AndroidIncludeDebugSymbols)"
    NeedsInternet="$(AndroidNeedsInternetPermission)" AndroidSdkPlatform="$(_AndroidApiLevel)" AndroidSdkDir="$(_AndroidSdkDirectory)" PackageName="$(_AndroidPackage)" ManifestPlaceholders="$(AndroidManifestPlaceholders)" OutputDirectory="$(IntermediateOutputPath)android"
    MergedAndroidManifestOutput="$(IntermediateOutputPath)android\AndroidManifest.xml" UseSharedRuntime="$(AndroidUseSharedRuntime)" EmbedAssemblies="$(EmbedAssembliesIntoApk)" ResourceDirectory="$(MonoAndroidResDirIntermediate)" BundledWearApplicationName="$(BundledWearApplicationPackageName)"
    PackageNamingPolicy="$(AndroidPackageNamingPolicy)" ApplicationJavaClass="$(AndroidApplicationJavaClass)" AcwMapFile="$(_AcwMapFile)">
  </GenerateJavaStubs>
  <ConvertResourcesCases ResourceDirectories="$(MonoAndroidResDirIntermediate)" AcwMapFile="$(_AcwMapFile)" />
</Target>

Я не знаю, нужно ли мне модифицировать это или если один из моих файлов вызывает проблему. Я дважды проверял, ни один из моих файлов не начинается с $.

Есть идеи?

Спасибо.

Ответ 1

Кажется, это ошибка Xamarin, по крайней мере в некоторых случаях. Записан Github выдает здесь и здесь репетиционные шаги и пример проекта.

Ответ 2

Попробуй это:

  1. Откройте диспетчер задач Windows → Перейдите на вкладку " Сведения"
  2. Завершите все задачи MSBuild.exe которые вы можете найти

End MSBuild.exe


  1. Перейдите в папку проекта, удалите папки Bin & Obj (SHIFT+DEL)
  2. Закрыть Visual Studio полностью
  3. Откройте Visual Studio еще раз, откройте решение, перестройте.

Или это:

  1. Открыть настройки проекта
  2. Перейти к Android Manifest
  3. Убедитесь, что ваш номер версии не имеет dots или commas

enter image description here

Ответ 3

Просматривая диагностический вывод Visual Studio, я видел много событий "\ $", большинство из которых связано с Google Play.

Для меня решение заключалось в том, что я забыл установить Google Play в диспетчере SDK (в разделе "Дополнительно").

Ответ 4

Для меня обновление Visual Studio 2017 сделало трюк. Теперь это только предупреждение.

Имя не может начинаться с символа '$', шестнадцатеричного значения 0x24.

Было проведено обновление VS 17 от 15.4.4 до 15.7.4.

Ответ 5

Я столкнулся с этой ошибкой на Android, и я сделал так, чтобы она работала: "Номер версии" должен быть числом и не должен содержать точку.