首页 新闻 搜索 专区 学院

VS2012 Debug编译能通过,Release编译报错

0
悬赏园豆:100 [已解决问题] 解决于 2014-08-06 14:53

错误 1 任务失败,原因是未找到“sgen.exe”,或未安装 .NET Framework SDK v2.0。该任务正在注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework 的 SDKInstallRootv2.0 值中指定的位置下的“bin”子目录中查找“sgen.exe”。您可以通过执行下列操作之一,来解决这一问题: 1.) 安装 .NET Framework SDK v2.0。2.) 将上面的注册表项手动设置到正确的位置。3.) 将正确位置传入任务的“ToolPath”参数。 UnionLib

问题补充:

操作系统是Win8,开发环境是VS2012+.NET4.0,所以装不上 .NET Framework SDK v2.0

陈宝的主页 陈宝 | 初学一级 | 园豆:112
提问于:2014-07-31 08:52
< >
分享
最佳答案
0

sgen.exe是预编译器

release配置看看,你是配置要编译为本机代码了?或者预生成序列化程序集选项是否开启,关闭它。

收获园豆:85
blackheart | 老鸟四级 |园豆:3719 | 2014-07-31 11:38

抱歉,看成ngen.exe了,sgen是XML序列化程序生成器工具。

那估计就是你项目的属性》生成中开启了生成序列化程序集的选项了。

blackheart | 园豆:3719 (老鸟四级) | 2014-07-31 11:43

@乱舞春秋: 您好!我项目属性》生成中生成序列号程序集 是自动的,如果选择关闭,确实不会报错,但其它项目都是自动的啊,为什么单单这个项目要选择关闭才能编译通过呢?

陈宝 | 园豆:112 (初学一级) | 2014-07-31 17:00

@陈宝: 可能是你这个项目里面有xml序列化的代码吧,它自动开启了sgen来优化你的xml序列化的性能,但是却没找到sgen.exe这个工具。

blackheart | 园豆:3719 (老鸟四级) | 2014-07-31 17:05
其他回答(3)
0

在项目中,将这个文件复制本地,检查下Debug的bin目录是不是有这个文件,把他复制到Release的bin目录下。

收获园豆:5
幻天芒 | 园豆:36781 (高人七级) | 2014-07-31 09:28
0

可以安装 .Net 2.0 。

控制面板=>所有控制面板项=>程序和功能=>启用或关闭 Windows 功能=> .Net Framework 3.5 (包括 .Net 2.0 和  .Net 3.0) 

收获园豆:5
焚寂 | 园豆:229 (菜鸟二级) | 2014-08-02 12:41

安装了还是不行

支持(0) 反对(0) 陈宝 | 园豆:112 (初学一级) | 2014-08-06 14:52
0

用记事本方式打开 *.csproj ,搜索 “sgen”

收获园豆:5
Treenew Lyn | 园豆:105 (初学一级) | 2014-08-05 09:07

记事本打开找不到sgen

支持(0) 反对(0) 陈宝 | 园豆:112 (初学一级) | 2014-08-06 14:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册