Automatically generate XSD to C# in Visual Studio

2020-02-16 12:04发布

问题:

I am running Visual Studio 2010. I have a XSD schema and want to use xsd.exe tool to generate appropriate C# file. I have done this successfully from a command line but now I want to do the same from IDE.

Is there some well-known route for this? I have managed to use a pre-build event but I hate to have the tool running on each build. Normally, it should only run when XSD changes.

Adding the generated .cs file to project puts it under .xsd of the same name, so the IDE knows they are related.

I know I can set "Custom Tool" on my .xsd but I am not sure if that achieves the desired effect. I was hoping for a more straightforward way.

And ultimately, VS2010 cannot execute XSD.EXE because it lives in the SDK folder and the path known to VS obviously does not include it.

Any suggestions are welcome!

回答1:

You can check out Xsd2Code for a VS addin that does this interactively. The author is also working on a VS2010 version, as far as I know.

alt text http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=Xsd2Code&DownloadId=41336



回答2:

You can also add it as an external tool (click tools - external tools...) to visual studio (2015). Then just select the xsd schema in visual studio and click tools - xsd to generate the class file.

Parameters:

  • Command: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.1 Tools\xsd.exe (replace with your version of FX tools)
  • Arguments: /c "$(ItemDir)$(ItemFileName)$(ItemExt)"
  • Initial directory: $(ItemDir)
  • Use Output window: yes