名称不能以'$'字符开头,十六进制值0x24

问题描述 投票:21回答:5

我有这个警告永远不会消失,我不知道如何修复它:

警告名称不能以'$'字符开头,十六进制值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>

我不知道是否需要修改此文件或者我的某个文件是否导致该问题。我仔细检查过,我的文件实际上都没有以$开头。

有任何想法吗?

谢谢。

xamarin xamarin.android visual-studio-2017
5个回答
1
投票

似乎是一个Xamarin错误,至少在某些情况下。 Logged Github发布herehere以及repro步骤和示例项目。


0
投票

试试这个:

  1. 打开Windows任务管理器 - >转到“详细信息”选项卡
  2. 结束您可能找到的所有MSBuild.exe任务

End MSBuild.exe


  1. 转到您的项目文件夹,删除BinObj文件夹(SHIFT+DEL)
  2. 完全关闭Visual Studio
  3. 再次打开Visual Studio,打开解决方案,重建。

或这个:

  1. 打开项目设置
  2. 转到Android Manifest
  3. 确保您的版本号没有dotscommas

enter image description here


0
投票

通过Visual Studio的诊断输出,我可以看到很多'\ $'出现,其中大多数与Google Play有关。

对我来说,解决方案是我忘记在SDK Manager中安装Google Play(在Extras下)。


0
投票

对我来说,Visual Studio 2017更新可以解决问题。现在它只是一个警告了。

名称不能以'$'字符开头,十六进制值0x24。

VS 17从15.4.4更新到15.7.4已完成。


0
投票

我在Android上遇到过这个错误,我所做的工作是:“版本号”应该是一个数字,它不应该包含点。

© www.soinside.com 2019 - 2024. All rights reserved.