.net sgen.exe生成错误";无法加载一个或多个请求的类型“;
我正在构建一个包含多个解决方案的解决方案。除了一个以外,其他所有的都没有任何问题。有问题的一个会发出以下信息: 错误2无法加载一个或多个请求的类型。检索 有关详细信息,请参阅LoaderExceptions属性 信息。J:\MyPlugins\MyPlugin1\SGEN MyPlugin1 我在VisualStudio中打开了详细输出,得到了 以下内容:C:\ProgramFiles(x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0工具\sgen.exe/程序集: 我用FusionLog检查了输出,并正确加载了所有内容。结果证明这是一个骗局。我决定再次运行构建,并显示详细信息。我得到以下信息: Microsoft(R)Xml序列化支持实用程序[Microsoft(R).NET 框架,版本4.0.30319.17929]版权所有(C)Microsoft 公司版权所有。如果你想得到更多的帮助, 请键入“sgen/?”。SGEN:错误:无法加载一个或多个 请求的类型。有关详细信息,请检索LoaderExceptions属性 信息。命令已退出,代码为1。完成执行任务 “SGen”——失败了 C:\ProgramFiles(x86)\Microsoft SDK\Windows\v8.0A\bin\NETFX 4.0 Tools\sgen.exe/assembly::\MyPlugins\MyPlugin1.dll”/proxytypes /参考:“J:\MyPlugins\MyPlugin1\packages\FluentValidation.3.4.6.0\lib\Net40\FluentValidation.dll” /参考:“C:\ProgramFiles(x86)\reference 程序集\Microsoft\Framework.NETFramework\v4.0\mscorlib.dll“ /参考:“J:\MyPlugins\MyPlugin1\Libraries\Core\bin\Release\Core.dll” /参考:“J:\MyPlugins\MyPlugin1\Libraries\Services\bin\Release\Services.dll” /参考:“J:\MyPlugins\MyPlugin1\Presentation\Web.Framework\bin\Release\Web.Framework.dll” /参考:“C:\ProgramFiles(x86)\reference 程序集\Microsoft\Framework.NETFramework\v4.0\System.Core.dll“ /参考:“C:\ProgramFiles(x86)\reference 程序集\Microsoft\Framework.NETFramework\v4.0\System.Data.dll“ /参考:“C:\ProgramFiles(x86)\reference 程序集\Microsoft\Framework.NETFramework\v4.0\System.dll“ /参考:“C:\ProgramFiles(x86)\reference 程序集\Microsoft\Framework.NETFramework\v4.0\System.EnterpriseServices.dll“ /参考:“C:\ProgramFiles(x86)\reference 程序集\Microsoft\Framework.NETFramework\v4.0\System.Web.dll“ /参考:“C:\ProgramFiles(x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Web.Mvc.dll”/reference:“C:\Program Files (x86)\Reference 程序集\Microsoft\Framework.NETFramework\v4.0\System.Web.Services.dll“ /参考:“C:\ProgramFiles(x86)\reference 程序集\Microsoft\Framework.NETFramework\v4.0\System.Xml.dll“.net sgen.exe生成错误";无法加载一个或多个请求的类型“;,.net,visual-studio-2012,sgen,.net,Visual Studio 2012,Sgen,我正在构建一个包含多个解决方案的解决方案。除了一个以外,其他所有的都没有任何问题。有问题的一个会发出以下信息: 错误2无法加载一个或多个请求的类型。检索 有关详细信息,请参阅LoaderExceptions属性 信息。J:\MyPlugins\MyPlugin1\SGEN MyPlugin1 我在VisualStudio中打开了详细输出,得到了 以下内容:C:\ProgramFiles(x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0工具\sgen.
导致此错误的原因是什么?在不关闭SGEN的情况下,如何修复此错误?仅供参考,我没有编写代码。解决方案很简单,但很难找到。必须删除asp.net预编译文件夹。由于插件是动态引用的,.NET无法像更新其他组件一样更新其DLL。这是一个对我有用的好技巧,摘自: 之所以会发生这种情况,是因为在发布版本中,VisualStudio 尝试生成包含中类型的序列化程序集 您的解决方案,为了提高XmlSerializer序列化性能, 如果您选择序列化您的类型这可以通过以下方式禁用: 转到项目属性的“生成”选项卡并设置“生成” 从“序列化程序集”到“关闭”。
我也有同样的问题,这在项目中是一个糟糕的参考。从GAC中删除DLL后,它工作正常。您可以通过Fusion Log找到问题DLL。更多信息你找到过这个问题的答案吗?我也有同样的问题,看看我的答案。谢谢你提醒我。