错误 MSB3823:非字符串资源需要将属性GenerateResourceUsePreserializedResources 设置为 true

Rif*_*uza 14 .net c# batch-file .net-core .net-5

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

.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]
Run Code Online (Sandbox Code Playgroud)

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

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

<PropertyGroup> 
    <GenerateResourceMSBuildArchitecture>
        CurrentArchitecture
    </GenerateResourceMSBuildArchitecture>
    <GenerateResourceMSBuildRuntime>
        CurrentRuntime
    </GenerateResourceMSBuildRuntime>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

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

Ant*_*rko 24

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


Hac*_*cko 6

如果您的项目使用 .NET Framework 并且您在其中使用资源,请检查您的 csproj 文件中是否有此内容:

 <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
Run Code Online (Sandbox Code Playgroud)

删除它或将其设置为 false。检查此参考,它似乎与 .NET Core 一起使用,但对于 NET Framework 给出错误错误。