鬼影_HC 2021-01-08 23:04 采纳率: 0%
浏览 434

非字符串资源要求将属性 GenerateResource...设置为 true

新使用C# IDE用的是Rider,在Build的时候跑出一个错误,如下

代码如下:

<!-- 4.0 task has some new parameters that we want to make use of if we're targeting 4.0 -->
    <GenerateResource
        Sources="@(EmbeddedResource)"
        UseSourcePath="$(UseSourcePath)"
        References="@(ReferencePathWithRefAssemblies)"
        UsePreserializedResources="$(GenerateResourceUsePreserializedResources)"   //这一段爆红
        AdditionalInputs="$(MSBuildAllProjects)"
        NeverLockTypeAssemblies="$(GenerateResourceNeverLockTypeAssemblies)"
        StateFile="$(IntermediateOutputPath)$(MSBuildProjectFile).GenerateResource.cache"
        StronglyTypedClassName="%(EmbeddedResource.StronglyTypedClassName)"
        StronglyTypedFileName="%(EmbeddedResource.StronglyTypedFileName)"
        StronglyTypedLanguage="%(EmbeddedResource.StronglyTypedLanguage)"
        StronglyTypedNamespace="%(EmbeddedResource.StronglyTypedNamespace)"
        StronglyTypedManifestPrefix="%(EmbeddedResource.StronglyTypedManifestPrefix)"
        PublicClass="%(EmbeddedResource.PublicClass)"
        OutputResources="@(EmbeddedResource->'$(IntermediateOutputPath)%(ManifestResourceName).resources')"
        Condition="'%(EmbeddedResource.Type)' == 'Resx' and '%(EmbeddedResource.GenerateResource)' != 'false' and '$(GenerateResourceMSBuildRuntime)' != 'CLR2'"
        SdkToolsPath="$(ResgenToolPath)"
        ExecuteAsTool="$(ResGenExecuteAsTool)"
        EnvironmentVariables="$(ResGenEnvironment)"
        MSBuildRuntime="$(GenerateResourceMSBuildRuntime)"
        MSBuildArchitecture="$(GenerateResourceMSBuildArchitecture)">

      <Output TaskParameter="FilesWritten" ItemName="FileWrites"/>
      <Output TaskParameter="StronglyTypedFileName" ItemName="Compile"/>

      <!-- Gather Sources as an output since it will contain OutputResource metadata indicating the final output resource that it was compiled into -->
      <Output TaskParameter="Sources" ItemName="_Temporary" />

    </GenerateResource>

定位在: 

Microsoft.Common.CurrentVersion.targets

请问大佬们,我需要如何修改才能正确?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 16:42
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要解决这个问题,您需要确保<GenerateResource>标签的GenerateResourceUsePreserializedResources属性被设置为true。这是因为在.NET Framework 4.0及以上版本中,如果GenerateResource标签没有指定GenerateResourceUsePreserializedResources属性,则会生成预编译资源文件。

    以下是一个示例:

    <GenerateResource
        ... // 其他属性...
        GenerateResourceUsePreserializedResources="true"
    />
    

    然后,检查<GenerateResource>标签是否出现在您的<Project>元素中,并且其MSBuildRuntimeMSBuildArchitecture属性已正确设置。此外,请确保<Project>元素中的Configuration属性与构建目标匹配。例如,如果您正在构建一个包含多种配置的项目,那么您可能需要为每个配置分别添加不同的GenerateResource标签。

    评论

报告相同问题?

悬赏问题

  • ¥50 如何给网页加一个必须阅读几秒后才可以点击确定的公告弹窗
  • ¥15 人脐静脉内皮细胞(HEUVC)重悬后自动聚团,怎么解决?
  • ¥30 faiss 的 IndexFlatL2 相似性搜索
  • ¥20 找人开发一套大数据算法系统!
  • ¥15 pycharm中cv2安装后可以用但是无法补全或跳转函数,搜索后使用以下方法无效1.重新安装包(更换版本也不行,如何解决?
  • ¥15 如何关闭Win11文件资源管理器的搜索栏的预选词
  • ¥15 odoo17非生产订单产品出库整个业务流程处理
  • ¥20 寻大数据算法的技术!
  • ¥15 悬赏 关于#c++#的问题
  • ¥15 python 处理文本报错问题