Dam*_*r_K 5 c# msbuild visual-studio-2017
在Windows 10上运行VS 2017 15.5.3.
获取此通用错误"指定的任务可执行文件"sgen.exe"无法运行.文件名或扩展名太长"在Release配置和X64平台中构建项目时.但它在Debug配置和Any CPU平台上构建良好.
能够构建它但是在将"生成序列化组件"设置为OFF之后.
不要认为文件名很长.有人会对此有所了解吗?
最好的祝福,
Damodar
Leo*_*SFT 12
MSB6003无法运行指定的任务可执行文件"sgen.exe".文件名或扩展名太长
我们知道,sgen.exe用于为指定程序集中的类型创建XML序列化程序集,以便在序列化或反序列化指定类型的对象时提高XmlSerializer的启动性能.
如果您不需要XML序列化程序集,则应将属性设置GenerateSerializationAssemblies为Auto或off.默认情况下,SGen仅针对"任何CPU"生成代理类型.这就是为什么你在Release配置和X64平台上得到错误而在Debug配置和Any CPU平台上没有错误的原因.您可以右键单击项目 - > Properties-> Build-> GenerateSerializationAssemblies,将值设置为off.然后卸载项目,编辑项目,在项目文件中,您可以找到以下代码行:
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
Run Code Online (Sandbox Code Playgroud)
但是,这一行代码存在于条件中 Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ",因此要解决此问题,您可以手动将此行代码添加到其他条件.您的项目文件配置最终会看起来像这样:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
...
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
...
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅生成Xml序列化程序集作为构建的一部分.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
3799 次 |
| 最近记录: |