code-generation 相关问题

与生成代码作为应用程序输出相关的主题,而不是由程序员直接编写代码。

使用 svcutil 将序列转换为通用列表

我正在尝试使用 svcutil 自动生成一些代码。我在 xsd 中有以下内容: 我正在尝试使用 svcutil 自动生成一些代码。我在 xsd 中有以下内容: <xs:complexType name="ForsikringstilfelleDetalj"> <xs:sequence> <xs:element name="detaljID" type="xs:string" minOccurs="0" maxOccurs="1"/> 然后运行以下命令: svcutil xx.wsdl yy.xsd /ct:System.Collections.Generic.List`1 然后我得到以下 C# 代码: public ForsikringstilfelleDetalj[] forsikringstilfelle 我想要的是: public List<ForsikringstilfelleDetalj> forsikringstilfelle 根据网上的信息, /ct 选项应该告诉 svcutil 使用通用列表进行集合。谁能看到我做错了什么吗? 要将元数据(包括 xsd 方案)下载到当前目录,请使用: svcutil /t:metadata http://.../.../service?WSDL 要生成客户端代码,请使用: svcutil *.wsdl *.xsd /language:C# /ct:System.Collections.Generic.List`1 注意:*.wsdl 和 *.xsd,因为可能有很多服务定义和方案。 要一步生成客户端代码,请使用: svcutil http://.../.../service?WSDL /ct:System.Collections.Generic.List`1 我回答这个问题可能有点晚了,但我会把它留在这里,以防其他人遇到同样的问题。 SvcUtil 不生成基于泛型的类的原因是因为它仅受 DataContract Serializer 支持,而不受 XML Serializer 支持。 DataContract Serializer 可能不支持您拥有的 WSDL/XSD。像拥有属性(xsd/xml 而不是“DataContractAttribute”)这样简单的事情将默认使用 XMLSerializer,因为 DataContracts 不支持属性。 请阅读以下内容: “此外,用于引用类型的 /r 和 /ct 开关用于 生成数据合同。使用时这些开关不起作用 XmlSerializer。” https://msdn.microsoft.com/en-us/library/aa347733(v=vs.110).aspx 我无法弄清楚为什么 /ct 开关在我的情况下无法正常工作。希望他们尽快修复它;同时,我将以下 powershell 命令添加到批处理文件中,以用列表替换生成的数组: powershell -Command "(gc ServiceRef.cs) -replace 'ForsikringstilfelleDetalj\[\]', 'System.Collections.Generic.List<ForsikringstilfelleDetalj>' | Out-File ServiceRef.cs" 我知道这个问题有点老了,但我遇到了同样的问题并解决如下: 首先,NugGet 上提供了一个新的 svcutil:dotnet-svcutil,它可与较新的 .net 和核心框架配合使用。 其次,您需要指定要使用的集合类型,如之前的海报所示。但是,有两个重要问题需要考虑: 指定包含您要使用的集合类型的库引用。这是通过 --reference 标志完成的。就我而言,我使用:--reference System.Collections 使用命名空间正确指定集合。请记住,您需要正确转义特殊字符。就我而言,我使用:--collectionType "System.Collections.Generic.List``1"。请注意 List 和 1 之间的 2 个反勾号。 所以对我来说整个命令行命令看起来像这样: dotnet-svcutil https://<your service url>.svc?wsdl --noLogo --reference System.Collections --collectionType "System.Collections.Generic.List``1" --outputDir proxy --internal --namespace *,<your name space for the generated proxy class> --outputFile <your proxy class name>.cs 仅当返回类型为 List 或泛型类时,svcutil xx.wsdl yy.xsd /ct:System.Collections.Generic.List 才有效。检查方法的返回类型以查看所有方法是否都是通用的。

回答 5 投票 0

如何自动生成 html 内容页面以及带有名称的下一页和上一页的页内链接?

我正在写一本在线非小说历史书。为了简单起见,它是关于古代帝国等的。 我已经用 html 和 css 手动编写了整个内容。我有一个目录页,其中包含...

回答 1 投票 0

WPF,使用Wdsl元,Codedom编译问题

我正在尝试通过 mex 客户端使用 wdsl。要编译它并在没有引用的情况下使用它。但我收到有关“CS0246:类型或命名空间名称“模式”无法使用的编译器错误...

回答 1 投票 0

Flutter build_runner 抛出 InvalidType 不是类元素

将 Flutter 更新至 v3.13.0 和 Dart v3.1.0 后(截至 2023 年 8 月 23 日稳定频道) 我的代码生成已损坏。 它在 v3.10.6 和 Dart v3.0.7 版本上运行得非常好。 这是我的

回答 1 投票 0

使用CMake将acodosgeneratec代码部署到cpp

目标 我想在 .cpp 中创建一个控制器来使用 acados 控制一个简单的摆,以了解如何将其用于真正的控制器。 问题 如何将 acados 生成的代码包含在 .cpp 中

回答 1 投票 0

寻找独立的命令行代码生成器脚本

我正在寻找一个库或命令行脚本,它允许我创建可以从命令行生成的自定义模板。 ruby on Rails 脚手架生成器几乎相同......

回答 4 投票 0

登录页面的路径是什么?

我们添加了身份的脚手架。 我们没有覆盖任何页面。 现在我无法访问登录或注册页面。 从这篇文章 AspNet Core 脚手架中的登录和注册页面在哪里......

回答 1 投票 0

我想从给定的 swagger.json 创建curl 请求?

我正在寻找一种解决方案,从java中的curl、GO、Node.js中的swagger.json中提取api请求!

回答 1 投票 0

通过在 Maven 中运行项目的 java 类来生成源

我正在将一个较大的 Ant 构建转换为 Maven。作为 Ant 构建的一部分,我们有几个步骤通过调用项目的类之一来创建 Java 类,简化为: javac SomeGenerator...

回答 6 投票 0

在 .NET 7.0 项目中创建 Razor 页面时出现错误“无法加载文件或程序集 'Microsoft.EntityFrameworkCore,Version=7.0.12.0'”

我在尝试使用 EF Core 在 .NET 7.0 项目中创建 Razor 页面时遇到错误。错误消息指出: <

回答 1 投票 0

如何在 Gradle 构建过程中从 Avro 模式生成 Java 类?

对于 Maven,有一个官方的 Avro 插件可以从 Avro 模式生成 Java 类。 然而,Gradle 不存在官方插件。 有 davidmc24/gradle-avro-plugin,但不再了

回答 2 投票 0

通过设计时代码生成重写通用方法

我想问一个相当笼统的问题,关于我想用 C# 中的代码生成器(或其他方法)解决的问题,我想知道它是否可能......

回答 1 投票 0

静态站点生成器基于更改的再生

似乎我发现的所有静态站点生成器每次对站点中的某些文件进行更改时都会完全重新生成整个站点。 例如,比较受欢迎的网站之一

回答 2 投票 0

c# 中类库项目的源生成器

是否可以使用C#中的Source Generator生成代码到类库项目中?我希望将这个自动生成的代码打包到 Nuget 包中。 当我尝试构建一个项目时...

回答 1 投票 0

如何在自己的代码库上微调LLM模型?

我有10个Javascript(VueJS)代码存储库(每个存储库对应1个主题) 我想在这 10 个代码存储库上训练一个 LLM 模型,以便我可以使用提示生成新主题...

回答 1 投票 0

为什么不必要的原子加载没有被优化掉?

让我们考虑一下这个简单的代码: #包括 std::atomic a; 无效 f(){ for(int k=0;k<100;++k) a.load(std::memory_order_relaxed); } MSVC, Clang and GCC all p...

回答 1 投票 0

不同命名空间中的golang常用结构体

我有 160 多个 .xsd 模式,对于每个文件,我使用 xsdgen 生成 xsd.go 文件,但每个文档都有 CommonType 的公共标头。 命名空间 some_document 类型文档结构{ 标头常见...

回答 1 投票 0

jaxb2 从主 xsd 生成的类和通用 xsd 具有不同的命名空间

我有 2 个 xsd 模式,我使用 maven-jaxb2-plugin 从中生成一个类消息。主要的 xsd 是 message.xsd,它导入 common.xsd,其中包含一些常见类型。然而两者都有不同...

回答 1 投票 0

运行java程序时在自定义注释处理器生成的生成源中找不到类

我编写了一个注释处理器,可以在编译期间直接为生成的源生成类。该类使用有效的语法生成,并且是正确的、匹配的(与接口

回答 1 投票 0

Ballerina - 使用带有依赖项的 Java 库

我想在 Ballerina 中使用 Java Kubernetes API 客户端。 我读过这个、这个和这个。 唯一存在基于 Java 的依赖关系的地方就是这里。 如果需要其中一门课程...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.