.net 错误MSB3823:非字符串资源要求将属性GenerateResourceUsePrereseralizedResources设置为true

drnojrws  于 2023-06-25  发布在  .NET
关注(0)|答案(2)|浏览(681)

大家好,我得到了一个错误,我试图解决它,我发现了一些类似的来源,但无法解决我的问题。类似于here
我编译我的项目.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文件,在xxx.csproj文件中添加了以下xml节点:

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

然后我再次编译使用bat文件从cmd,但仍然得到了构建错误。如何克服这种提前感谢。请注意,在我的机器中,我使用的是.NET框架版本4.8和.NET核心5

ttisahbt

ttisahbt1#

请将System.Resources.ExtensionsNuGet包添加到相应的项目中。

2fjabf4q

2fjabf4q2#

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

<GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>

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

相关问题