我试图通过命令行为wcf服务生成代理。根据需要,我使用的是*svcutil.exe.
有很多服务我需要为它们创建代理。下面显示了一个示例命令。每件事都围绕着代代相传而嗡嗡作响。
对于其中一个代理,我需要使用Collection类型作为列表,而不是默认的Array。但是,在下面明确提到的情况下,我无法得到正确的集合类型。生成的代理仍然具有用于集合的Array类型。执行这些命令时没有错误。不知道这是怎么回事。
svcutil.exe http://localhost/DealService.svc /noLogo
/out:D:/Proxies/DealServiceReference.cs /n:*,MyApp.WinUI.DealServiceReference
/ct:System.Collections.Generic.List`1有谁知道,为什么我会得到默认的集合类型,尽管有明确的提及?有人知道怎么把它弄对吗?
(子问题--我所看到的定义集合类型为列表的所有例子,神秘的‘1出现在System.Collections.Generic.List的末尾,但我无法理解它的必要性,也无法从某个地方得到一个有效的解释。因此,如果有人能说明这一点,那就太好了。)
发布于 2016-02-09 20:53:20
警告:-
如果作为参数提供的名称相同,svcutil.exe将覆盖磁盘上的现有文件。这可以包括代码文件、配置文件或元数据文件。若要在生成代码和配置文件时避免这种情况,请使用/mergeConfig开关。此外,用于引用类型的/r和/ct开关用于生成数据契约。当使用XmlSerializer时,这些开关无法工作。
参考资料:https://msdn.microsoft.com/en-us/library/aa347733(v=vs.110).aspx
这可能是你的情况,检查使用的串行器..。
https://stackoverflow.com/questions/5869779
复制相似问题