首页 > 解决方案 > 错误 MSB3823:非字符串资源需要将属性 GenerateResourceUsePreserializedResources 设置为 true

问题描述

大家好,我遇到了一个错误,我正在尝试解决它我找到了一些类似的来源,但无法解决我的问题。类似的问题就像这里

.csproj我使用文件编译我的项目文件,.bat实际上它是.batch来自cmd. 但我得到了这个错误:

error MSB3823: Non-string resources require the property GenerateResourceUsePreserializedResources to be set to true. [C:\Users\rmrud\source\Workspaces\Workspace2\HAL9\v3_07\Test\Test\Test.csproj]

我也得到了这个:

error MSB3822: Non-string resources require the 
System.Resources.Extensions assembly at runtime, but it was not found in this project's references. [C:\Users\rmrud\source\Workspaces\Workspace2\HAL9\
v3_07\Test\Test\Test.csproj]

我也在 cmd 中运行了这个choco install visualstudio2019-workload-netcoretools

我编辑了我.csproj的文件,在你的文件中添加了这些 xml 节点xxx.csproj

<PropertyGroup> 
    <GenerateResourceMSBuildArchitecture>
        CurrentArchitecture
    </GenerateResourceMSBuildArchitecture>
    <GenerateResourceMSBuildRuntime>
        CurrentRuntime
    </GenerateResourceMSBuildRuntime>
</PropertyGroup>

然后我再次使用 cmd 中的 bat 文件进行编译,但仍然出现构建错误。如何克服这个提前谢谢。请注意,在我的机器上,我使用的是 .NET 框架版本 4.8 和 .Net core 5

标签: c#.netbatch-file.net-core.net-5

解决方案


请将System.Resources.Extensions NuGet 包添加到适当的项目中。


推荐阅读