在生成过程中自动执行xsd.exe

本文关键字:执行 xsd exe 过程中 | 更新日期: 2023-09-27 17:59:25

我需要一种在构建过程中基于*.xsd文件自动重新生成*.cs文件的方法,最好不涉及任何自定义插件。这也需要在CI生成上运行。

我不确定我是否遗漏了一些明显的东西,或者这真的像我看起来的那样棘手吗?

在生成过程中自动执行xsd.exe

我使用这个脚本:

@echo off
cd %1
call :treeProcess %2 "XSDs"
cd ..
goto :eof
:treeProcess
rem From http://stackoverflow.com/a/8398621/298754
echo Processing %2
for %%f in (*.xsd) do call :buildXSD %%f %1 %2 %%~nf
for /D %%d in (*) do (
    cd %%d
    call :treeProcess %1 %2.%%d
    cd ..
)
exit /b
:buildXSD
%2 %1 /c /n:%3.%4%

带有的预生成事件

call "$(ProjectDir)"XSDBuilder.bat "$(ProjectDir)"'XSDs "$(Registry:HKEY_LOCAL_MACHINE'SOFTWARE'Microsoft'Microsoft SDKs'Windows'v7.0A'@InstallationFolder)bin'xsd.exe"

这将递归地解析项目根目录中名为XSDs的文件夹中的每个.xsd文件,并根据文件夹结构分配一个名称空间。