首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由于XmlSerialization (sgen.exe),无法在Visual Studio 2022中生成项目,并且无法禁用

由于XmlSerialization (sgen.exe),无法在Visual Studio 2022中生成项目,并且无法禁用
EN

Stack Overflow用户
提问于 2021-11-12 10:06:01
回答 1查看 597关注 0票数 2

当我在dotnet中编译我用VS2019编写的项目时,我得到了这个错误,我刚刚迁移到dotnet核心6.0并加载到VS2022中。

代码语言:javascript
运行
复制
Error   MSB6003 The specified task executable "sgen.exe" could not be run. System.ComponentModel.Win32Exception (0x80004005): The filename or extension is too long

由于文件名过长,XmlSerialization出现故障,这似乎是一个已知问题。修复包括关闭Generate Serialization assembly和启用长文件名since at least 2017的MS官方修复。

应该可以从VS 2019中的UI禁用XmlSerialization,并且应该可以在项目文件中添加以下内容:

代码语言:javascript
运行
复制
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>

然而,在VS2022中没有通过UI执行此操作的选项,并且上面的配置似乎被忽略了。因此,我看不出如何避免VS2022中的错误。我试过在VS2019中禁用它,并在VS2022中加载它,但这不起作用。

更新:我还尝试将解决方案移动到根目录中,名称为2个字符。一点也不快乐。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-11-12 10:56:58

我只是再次尝试在项目文件中禁用,这一次起作用了。

代码语言:javascript
运行
复制
<PropertyGroup>
   ...
   <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>

VS 2022似乎没有像VS 2019那样的UI选项,所以你似乎必须手动完成这项工作。

我现在得到了一个

The command "copy "\policy.xml" "" " exited with code 1 error

但那是另一个问题..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69941114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档