【问题标题】:MSB4018 The "GenerateEmbeddedResourcesManifest" task failed unexpectedlyMSB4018 “GenerateEmbeddedResourcesManifest”任务意外失败
【发布时间】:2018-07-19 16:34:20
【问题描述】:

我正在尝试将本地化添加到我的 Web 应用程序(使用 Aspnetcore 2.1.1 和 Razor 页面)。但是,当我添加多个 .resx 文件时,它无法编译并出现以下错误。

Error   MSB4018 The "GenerateEmbeddedResourcesManifest" task failed unexpectedly.
System.InvalidOperationException: An item with the name '' already exists.
   at Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.Internal.Entry.AddChild(Entry child)
   at Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.Manifest.AddElement(String originalPath, String assemblyResourceName)
   at Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.GenerateEmbeddedResourcesManifest.BuildManifest(EmbeddedItem[] processedItems)
   at Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.GenerateEmbeddedResourcesManifest.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() Service C:\Users\mishaukat\.nuget\packages\microsoft.extensions.fileproviders.embedded\2.1.1\build\netstandard2.0\Microsoft.Extensions.FileProviders.Embedded.targets   65

在我的 .csproj 文件中,设置了以下属性。

<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>

使用相同的设置,本地化在 AspNetCore 2.0.3 中工作。

问题是生成的清单文件“Microsoft.Extensions.FileProviders.Embedded.Manifest.xml”的内容。清单文件生成器为一个 *.resx 文件添加这一行。

<File Name=""><ResourcePath></ResourcePath></File> 

当生成器找到另一个 *.resx 文件时,它会尝试将同一行添加到清单 xml 中,但无法显示“名称为 '' 的项目已存在。”

【问题讨论】:

    标签: asp.net-core asp.net-core-2.0 asp.net-core-2.1 asp.net-core-mvc-2.1


    【解决方案1】:

    看来我是第二个遇到此错误的人 :) 根据this link,我在csproj文件中做了一些调整,在每个resx文件引用中添加ExcludeFromManifest标志,这更正了我的情况。

    <EmbeddedResource Include="Resources/EntityListResources.resx">
      <ExcludeFromManifest>true</ExcludeFromManifest>
    </EmbeddedResource>
    

    【讨论】:

      猜你喜欢
      • 2021-03-22
      • 2020-07-18
      • 2021-02-25
      • 1970-01-01
      • 2023-01-03
      • 2011-10-06
      • 1970-01-01
      • 2016-02-23
      • 1970-01-01
      相关资源
      最近更新 更多