gpt4 book ai didi

f# - XSD.EXE 从 XSD 生成 F# 类

转载 作者:行者123 更新时间:2023-12-01 01:31:44 25 4
gpt4 key购买 nike

我正在尝试使用工具 XSD.EXE 从 XSD 生成一些类文件。从生成的文件中是否有任何收获是另一个问题,但我想看看生成了什么。我找到了这个 reference ,其中指出:

Which, thanks to Luke over on the F# Visual Studio team, means I can do this:


xsd.exe fpml-asset-4-z.xsd /classes /l:”Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider, FSharp.Compiler.CodeDom, Version=1.9.9.9, Culture=neutral, PublicKeyToken=a19089b1c74d0809″

这太棒了。我没有相同版本的代码 dom - 所以查看 GAC 我将行更改为:
xsd.exe RIXML-datatypes-2_3_1.xsd /classes /l:"Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider, FSharp.Compiler.CodeDom, Version=2.0.0,0, Culture=neutral, PublicKeyToken=a19089b1c74d0809"

其中产生:

C:\Users\Desktop\CSharpSamples\ResearchUploader\Fc-RixmlLib>xsd.exe RIXML-datatypes-2_3_1.xsd /classes /l:"Microsoft.FSharp.Compiler.CodeDom.FSharpCodePr ovider, FSharp.Compiler.CodeDom, Version=2.0.0,0, Culture=neutral, PublicKeyToken=a19089b1c74d0809" Microsoft (R) Xml Schemas/DataTypes support utility [Microsoft (R) .NET Framework, Version 4.0.30319.1] Copyright (C) Microsoft Corporation. All rights reserved. Error: The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)

If you would like more help, please type "xsd /?".



想法?

最佳答案

我遇到了同样的问题“来自 HRESULT 的异常:0x80131047” - 没有设法解决它,但有一个丑陋的解决方法:

  • 创建一个新的 C# 控制台应用程序
  • this post了解如何以编程方式执行与 xsd.exe 相同的操作
  • 添加对 F# powerpack 的 CodeDom dll 的引用
  • 使用 Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider 而不是 CSharpCodeProvider

  • 花了一个小时试图让 xsd.exe 工作,而我只用了 5 分钟就用这种方式对其进行了暴力破解..

    这可以很容易地制作成 xsdfs.exe 或其他东西,以节省人们使 xsd.exe 使用 f# 代码 dom 的麻烦:)

    关于f# - XSD.EXE 从 XSD 生成 F# 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4327396/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com