问题标签 [sgen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在具有许多同名类的 5MB 程序集上运行 sgen
我正在尝试为输出 5MB dll 的项目生成 XmlSerializers 程序集。该项目有许多具有不同 .Net 命名空间但名称相同的类,因此 sgen 返回错误消息“命名空间中的顶部 XML 元素 'XXXX' 引用不同的类型 XXXX 和 XXXX。
因此,我将 TypeName 属性添加到每个重复类的 XmlTypeAttribute 中。问题是,每次我运行 SGEN 命令时,至少需要 15 分钟才能显示任何反馈。
你有什么建议吗?
谢谢。
c# - Visual Studio 2010 找不到“sgen.exe”
我有一个 C# 程序集项目,我选择在 Visual Studio 2010 中构建它,该项目设置为自行序列化。当我尝试构建项目时,出现此错误:
错误1 指定的任务可执行位置“C:..\MyProjectName\bin\x64\Debug\sgen.exe”无效。
有谁知道我该如何解决这个问题?
为了我的项目,我需要序列化这个程序集。现在有点历史。我使用的这台机器是新的,我碰巧在Visual Studio 2012之后安装了Visual Studio 2010的错误;不确定这是否是它找不到 sgen.exe 的原因。没有调用 sgen 的构建步骤,我很确定它是由 VS 作为构建周期的一部分完成的。其次,它试图在输出目录中查找 sgen ...我不明白它为什么要这样做,我认为 sgen 是一个安装在其他地方的框架组件。该项目在我的另一台计算机上成功构建。
java - 检查一个类是否在 IJavaProject 的类路径上
我在 fqnd 中有一个 IJavaProject 和一个类:“com.example.urgs.ClassName”。
我如何确定它是否在项目中?
编辑:
这对我有用;)
edit2:parameterValue 可以是工作区中的任何内容。
mono - 使用 Mono mkbundle 定位 SGEN 垃圾收集器
是否可以使用使用 sgen GC 的 mkbundle 捆绑 Mono 可执行文件?
我假设因为生成的包需要 libmono-2.0.so.1 而不是 libmonosgen-2.0.so,所以它使用标准的 boehm GC。我尝试过使用 $MONO_OPTIONS=--gc=sgen 但生成的包仍然需要非 sgen 库。
我是否误解了 libmono 和 libmonsgen 库的使用?
感谢您的任何帮助或指导
visual-studio-2012 - Sgen 在 VS2012 中使用内部设置器抛出错误
仅当所有设置器都是公共的时,SGen 才会生成 xml 序列化程序集吗?
我在 DummyProject 有这个课程:
在我的 AssemblyInfo.cs 中,我声明了这一点:
在我的 csproj 中,我放了这个:
当前错误是:
无法反序列化类型“DummyProject.DummyClass”,因为它包含没有公共设置器的属性“Sequence”。
我尝试过的: 1. 现在,如果我取出内部设置器,生成 DummyProject.XmlSerializer 没有问题。
我错过了什么吗?
我的 assemblyinfo.cs 不包含其中 1 个陷阱中列出的内容:
- 我也尝试过签署我的程序集并修改 InternalsVisibleTo 以包含公钥,但我仍然遇到同样的错误。
InternalsVisibleTo 有问题吗?
基于这篇文章,即使使用内部设置器,SGen 应该仍然能够生成 xml 序列化程序集。
SGEN、InternalsVisibleTo 和程序集签名
- 我没有使用后期构建步骤来生成 xml 序列化程序集。我是在开发人员命令提示符中完成的,并且为没有内部设置器的类成功创建了程序集。现在,我将此程序集复制到我的项目输出并将我的属性设置器更改为内部。由于内部设置器,我在序列化期间遇到错误。
当然,我在 AssemblyInfo.cs 中添加了 InternalsVisibleTo。
c# - 缺少程序集参考
我使用sgen
文档为包含在“VcdcClassStructure.dll”中的唯一类生成了一个自定义类序列化程序。现在的文件表明我需要做的就是
添加对“VcdcClassStructure.dll”和 sgen 生成的“VcdcClassStructure.XmlSerializers.dll”的程序集引用。
通过添加对包含新生成的序列化类的命名空间的引用
使用 VcdcClassStructure;使用 Microsoft.Xml.Serialization.GeneratedAssembly;`
(我已经使用 DotPeek 确认命名空间是正确的)。
然后我改变了我的代码
至
但是在编译时我得到了
找不到类型或命名空间名称“VcdcClassStructure”(您是否缺少 using 指令或程序集引用?)
和
命名空间“Microsoft”中不存在类型或命名空间名称“Xml”(您是否缺少程序集引用?)
我已经引用了相关程序集并添加using
了命名空间的代码。为什么编译器抱怨这些引用?
谢谢你的时间。
编辑。以证明我没有错过上述任何步骤。
c# - .XmlSerializers.dll 程序集可以嵌入吗?
SGEN 生成的 .XmlSerializers.dll 程序集是否可以嵌入到最终的可执行文件中,并且仍然可以运行并提供性能提升?
c# - SGen 无法为有效类型生成程序集
我有一个有效的 XmlSerializer 类型:
它成功地序列化和反序列化(完整代码示例在这里http://ideone.com/s2PvSB)。但是,我无法为这种类型生成 .XmlSerializers.dll,SGen 失败:
从 PostBuild 事件中调用的 SGen 为
它是 SGen 中的错误还是 [某处] 记录的行为?
c# - 从VS2012升级到VS2013后SGEN不工作
当我在 VS2013(版本 12.0.21005.1 REL)下编译我的 c# 解决方案时,它无法构建部分项目并显示错误消息:
错误 32 命令“C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bin\NETFX 4.0 Tools\sgen.exe” /a:"Project.dll" /f /v" exited with code 3.项目
构建后事件:“$(FrameworkSDKDir)\Bin\NETFX 4.0 Tools\sgen.exe” /a:"$(TargetPath)" /f /v
实际上,文件夹“C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bin\NETFX 4.0 Tools”不存在:“\Bin”仅包含文件夹“NETFX 4.5.1 Tools”。
项目的目标框架:“.NET Framework 4”。
web-services - C# + Java 服务soap 消息互操作性,soap 消息没有在c# APP + SGEN 中反序列化
我在我的 c# 应用程序中使用的 Java Web 服务之一有一个返回类型“marketCalendar”,其定义如下 wsdl. WSDL 的 Target 名称空间是http://www.xyz.com
并且相应的 C# 代理有以下解释,
问题# 我的 c# 应用程序调用 java webservice 上的 GetMarketCalendar 方法,确实看到了 XML 响应,但无法将其反序列化回 marketCalendar 响应。所以我开始使用XGen 生成的类进行挖掘。
我注意到对于country、exchange、calendarDay类型- c# 的默认反序列化器将肥皂响应中的命名空间与空字符串进行比较,即
if (((object) Reader.LocalName == (object)id84_country && (object) Reader.NamespaceURI == (object)id2_Item)) {
其中传入的是 Reader.NamespaceURI = " http://www.xyz.com " 和 id2_Item = Reader.NameTable.Add(@""); 即空。由于比较失败,反序列化也失败。有什么解决办法吗?
这是 C# XMLSerializer 错误还是 wsdl 中的 marketCalendar 定义有问题?