2008-12-23 17 views
3

過去,我使用XSD.exe從xsd創建了c#類。今天,我添加了一個XSD到VS.NET 2008 SP1,它自動從我的xsd生成一個數據集,光滑,但我不想要一個數據集。有沒有辦法讓每次修改我的xsd時,vs.net自動執行xsd.exe。vs.net xsd

回答

1

我相信你最好的選擇是將xsd.exe作爲預生成事件運行,並將XSD的生成操作設置爲「無」。

+0

但是你沒有生成文件自動包含在項目中進行編譯。 – TcKs 2008-12-23 16:19:44

1

選擇* .xsd文件,打開屬性窗口(F4鍵)並刪除「自定義工具」和「自定義工具命名空間」。這將刪除「DataSet」問題。

「來自xsd的c#類」問題可以通過另一個自定義工具來解決。看看XsdCondeGenTool - 有樣品,怎麼做。

+0

XSDCodeGenerator的XSDGenerator.CustomTool是如何註冊.net工具的一個很好的例子,但XSDGenerator庫對我來說是XSD.exe工作原理的一個簡單示例,本身並不是一個很好的xsd-> c#工具。 – 2009-12-30 21:28:40

0

xsd.exe是否生成數據集或類取決於命令行參數。從xsd /?提取:

/類 爲此模式生成類。簡寫形式是'/ c'。

/dataset 爲此模式生成子分類數據集。簡寫形式是'/ d'。

預構建事件可能有助於在架構更改時更新自動生成的類。您可能需要考慮Nant。 Nant是Java構建腳本Ant的.Net的一個端口。使用Nant,您可以創建相當複雜的構建腳本,以便能夠調用xsd.exe。我也想象他們可以幫助調用一些腳本來更新你的項目文件,以引用xsd生成的類(不是我所做的,但我認爲非常可行的)。