将ASP.NET XSD(数据集)转换为Windows窗体

将ASP.NET XSD(数据集)转换为Windows窗体,asp.net,winforms,Asp.net,Winforms,有没有办法将XSD ASP.NET文件转换为Windows Forms XSD?有这个工具吗?我确信,如果您浏览了每个文件,就可以完成转换,但是是否有一个简单的转换(可能在Visual Studio中)?我在Windows窗体项目和ASP.NET项目中创建了两个数据集,并将它们与Visual Studio 2010进行了比较。除了两点外,它们几乎相同: Windows窗体生成的SQL语句具有乐观并发性,而ASP.NET没有 连接元素不同(因为设置了源) 我认为可以编写一个简单的XSLT来更改连接

有没有办法将XSD ASP.NET文件转换为Windows Forms XSD?有这个工具吗?我确信,如果您浏览了每个文件,就可以完成转换,但是是否有一个简单的转换(可能在Visual Studio中)?

我在Windows窗体项目和ASP.NET项目中创建了两个数据集,并将它们与Visual Studio 2010进行了比较。除了两点外,它们几乎相同:

  • Windows窗体生成的SQL语句具有乐观并发性,而ASP.NET没有
  • 连接
    元素不同(因为设置了源)
  • 我认为可以编写一个简单的XSLT来更改
    连接
    元素,并保持其他内容不变

    此外,添加现有.xsd数据集文件时,应在Visual Studio的文件属性中将
    自定义工具设置为
    MSDataSetGenerator
    ,否则Visual Studio不会刷新
    .Designer.cs
    文件

    (更新)下面是这样一个XSLT的简单示例(未完成):

    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0"
                    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns:msxsl="urn:schemas-microsoft-com:xslt"
                    exclude-result-prefixes="msxsl"
                    xmlns="http://tempuri.org/DataSet1.xsd"
                    xmlns:mstns="http://tempuri.org/DataSet1.xsd"
                    xmlns:xs="http://www.w3.org/2001/XMLSchema"
                    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
                    xmlns:msprop="urn:schemas-microsoft-com:xml-msprop"
                    xmlns:msds="urn:schemas-microsoft-com:xml-msdatasource">
        <xsl:output method="xml" indent="yes"/>
    
        <xsl:template match="@* | node()">
            <xsl:copy>
                <xsl:apply-templates select="@* | node()"/>
            </xsl:copy>
        </xsl:template>
    
        <xsl:template match="msds:Connection">
            <xsl:copy>
                <xsl:attribute name="AppSettingsObjectName">Settings</xsl:attribute>
                <xsl:attribute name="AppSettingsPropertyName">
                    <xsl:value-of select="@AppSettingsPropertyName" />
                </xsl:attribute>
                <!-- TODO: add other attributes... -->
            </xsl:copy>
        </xsl:template>
    </xsl:stylesheet>
    
    
    设置
    
    是什么让你觉得有区别?您是否尝试过将数据集添加到表单项目中?是的,我尝试过。这是有区别的。它只是以xml文件的形式显示和打开。连接字符串不像asp.net那样存储在web.config中(据我所知)。我知道复制文件是行不通的。我认为它比那更复杂。请注意,windows窗体添加了(不仅像ASP.NET那样添加了.xsd和.xss),还添加了文件名为.Designer.cs(或.vb)的内容。@Jason Reed,不,没有比这更复杂的了。与设计器布局相关的xss和.xsc文件以及在设计器视图中保存的形状位置,因此您可以删除它们,并且不会影响功能。和*.Designer.cs由MSDataSetGenerator从xsd生成。事实上,ASP.NET项目也包含它,但VisualWebDeveloperExpress——不包含它(仍然认为它是在运行时生成的)。简而言之,您只需要添加.xsd文件,在“解决方案”视图中选择它,打开“属性”窗口,然后在自定义工具属性中键入
    MSDataSetGenerator
    。您还需要更改连接属性。这应该足够了。@Jason Reed,您可以轻松地检查VS是否(重新)生成了.Designer.cs:打开winforms解决方案,添加数据集,然后删除ddataset的.Designer.cs文件。然后右键单击解决方案视图中的xsd文件并选择“运行自定义工具”。Designer.cs文件将重新出现。