从 XSD 创建 dataset.designer.vb

Posted

技术标签:

【中文标题】从 XSD 创建 dataset.designer.vb【英文标题】:Creating a dataset.designer.vb from XSD 【发布时间】:2010-09-22 00:46:59 【问题描述】:

我在 Visual Studio 2008 中有一个 .xsd.vb.xsc.xss 文件,用于从另一个 Visual Studio 项目复制过来的数据集,但是我需要对数据集进行更改。因此,我进入了 XSD 文件,创建了新列,删除了不需要的列,等等。但是,当我尝试使用新数据集时,我意识到我并没有幕后的 Visual Basic 代码。此代码通常在 dataset.designer.vb 中找到。当我复制旧的时,它当然不再有效,因为列发生了变化。

如何强制 Visual Studio 2008 使用 .xsd 文件并让它创建/更新其设计器代码?

【问题讨论】:

原始 XSD 是如何生成的?是通过连接到数据库的数据源吗? 【参考方案1】:

不幸的是,这是我在需要时可以做的事情的灰色地带,但我不需要做足够的事情来将知识传授给他人。

我所知道的是*.designer.vb 表示此代码是由 Visual Studio 生成的,如果它生成一次,它可以再次执行。此外,我执行此操作的次数很少(可能两次,都在 Visual Studio 2005 中),看起来就像将 *.xsd 文件添加到解决方案资源管理器一样简单。如果仅此一项还不行,请尝试显示所有文件或右键/双击 *.xsd。

【讨论】:

【参考方案2】:

感谢您的帮助,最后我只是能够获得使用xsd.exe 工具生成的dataset.vb 文件。它现在可以工作,但是,我仍然认为 Visual Studio 2008 中的某些设置不正确,或者至少 XSD 文件的上下文菜单中的“生成数据集”菜单选项消失了。

我只需要记住,如果我从这里开始修改 XSD 文件,Visual Studio 不会自动更新 .vb 文件,我可能会在重复使用 xsd.exe 程序时遇到困难。

对于其他人,命令是(使用 Visual Studio 2008 命令提示窗口工具,如果使用 Windows Vista,则处于管理员模式)。

xsd.exe /d /l:VB "XSD FILE LOCATION PATH"

/d 表示创建数据集代码。 /l 是语言。

.vb 文件将在C:\Windows\System32 中创建。

【讨论】:

cd 到你想要输出的目录,然后它会写在那里而不是 C:\Windows\System32。【参考方案3】:

您可以右键单击 .xsd 文件并选择 'Run Custom Tool' 以重新生成 dataset.designer.vb 文件。

【讨论】:

如果缺少“运行自定义工具”上下文菜单项,请参阅下面@lambsland 的答案【参考方案4】:

您只需排除您的.xsd 文件并再次包含它。它将重新生成您的 designer.vb 文件。

【讨论】:

就像@lamsland 的回答所说...在解决方案资源管理器中单击 .xsd 文件。将“自定义工具”属性更新为“MSDataSetGenerator”。 为我工作,而上面的其他解决方案没有。 好的,非常感谢 - 又为我节省了几个小时的时间!【参考方案5】:

我不知道这是否仍然是其他人的常见问题,但我确实找到了答案(我认为)。单击解决方案资源管理器中的 .xsd 文件。将“自定义工具”属性更新为“MSDataSetGenerator”。这将自动重新生成 *.Designer.vb 文件。

【讨论】:

我曾多次在移动或重命名文件时设计器文件被顶起。在修复文件之前,我总是不得不在解决方案中玩耍。第一次尝试就成功了。 生成vb类文件需要设置哪个属性?【参考方案6】:

只需删除添加xsd文件时创建的额外designer.vb文件即可。

【讨论】:

以上是关于从 XSD 创建 dataset.designer.vb的主要内容,如果未能解决你的问题,请参考以下文章

从 GPX 文件创建 XSD 文件

无法从 XSD 文件创建 c# 类

使用许多导入从 xsd 创建类

从JAXB的XSD创建XML文件

如何从 XSD 创建 BQ 模式

从 XSD 文件生成 WSDL