2011-06-24 1 views
0

XSD ASP.NETファイルをWindowsフォームXSDに変換する方法はありますか?これのためのツールはありますか?私はそれがあなたが各ファイルを通過した場合、それができることは確信していますが、(おそらくVisual Studioで)簡単な変換ですか?ASP.NET XSD(データセット)をWindowsフォームに変換する

+0

あなたは違いがありますどう思いますか?フォームプロジェクトにデータセットを追加するだけでしたか? –

+0

はい私は試みた。違いがあります。それはxmlファイルとして表示され、開きます。接続文字列はasp.net(私が理解しているもの)のようなweb.configには格納されません。私は、ファイルをコピーしても動作しないことを知っています。 –

答えて

0

私はWindows FormsプロジェクトとASP.NETプロジェクトに2つのデータセットを作成し、Visual Studio 2010と比較しました。彼らは、2点の除いて、ほぼ同一であった:

I(ための設定ソースの)ASP.NETがをしなかった

  1. Windowsフォームは、オプティミスティック同時実行してSQL文を生成し
  2. Connection要素は異なっていました単純なXSLTを記述してConnection要素を変更し、それ以外はそのままの状態にしておくことが可能だと考えてください。既存の.xsdデータセットファイルを追加するとき、あなたは、Visual StudioでファイルのプロパティでMSDataSetGeneratorからCustom Toolを設定する必要があり、またはVisual Studiowon'tが.Designer.csファイルを更新する。また

    、。

    (UPDATE)ここでは、このような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> 
    
+0

それはもっと複雑だと思います。 Windowsフォームには、ASP.NETのように.xsdと.xssだけでなく、whatever_the_filename_is.Designer.cs(または.vb)も追加されています。 –

+0

@ Jason Reed、それ以上の複雑さはありません。デザイナーのレイアウトに関連する.xssおよび.xscファイルを作成し、デザイナービューで保存したので、削除しても機能には影響しません。 * .Designer.csはMSDataSetGeneratorによってxsdから生成されます。実際、ASP.NETプロジェクトにも含まれていますが、Visual Web Developer Expressはありません(実行時にAFAIKが生成されます)。つまり、__ONLY__ .xsdファイルを追加し、ソリューションビューで選択し、プロパティウィンドウを開き、カスタムツールプロパティに「MSDataSetGenerator」と入力する必要があります。また、接続attrsを変更する必要があります。それで十分でしょう。 – Dmitry

+0

@ Jason Reed .Designer.csがVSによって生成されたことを簡単に確認できます:winformsソリューションを開き、DataSetを追加してからddatasetの.Designer.csファイルを削除します。次に、ソリューションビューでxsdファイルを右クリックし、[カスタムツールの実行]を選択します。 .Designer.csファイルが再び表示されます。 – Dmitry

関連する問題