2009-07-13 10 views
0

私はそれは私がスタイラスでXMLまたはXSLファイルを与えるテンプレートのいくつかの種類を生成し、C#のコードStylusStudioを使用してVisual Studioソリューションファイルを生成することは可能ですか?

を生成することが可能である場合、私はいくつかの.csファイルを作って、正常に動作しますが、私はcsprojとできなかった不思議とされましたSLNファイルなので、

、私は

を求めていますなぜ私はC#の 上のDLLをプログラムするために使用thatsのはn層プログラミングで

+0

何を手に入れていますか?なぜあなたはVS自体やcmakeやpremakeのようなメタビルダーの代わりにXMLツールを使ってslnファイルを作成したいのですか?あなたの質問を編集して、より良い回答を得るための根拠を説明してください。 – haffax

答えて

0

Stylus Studioには、XSLTとXQueryの両方が含まれており、いずれの場合でもテキストファイルを書き込むことができます。 .slnファイルはXMLではないため、適切なソースがある場合は、手動で.slnファイルを書き込むことができます。 .vbprojまたは.csprojのようなプロジェクトファイルはXMLであり、スタイラススタジオで簡単に作成できます。

あなたが求めていることはありますか?

XSLTまたはXQueryプログラムを使用している場合は、その変換を駆動するコードを生成することができます。それはあなたのためのVisual Studioプロジェクトを作成します。 XQueryでは、.Net Saxon XQueryエンジンを使用します。 XSLTでは、.Net用のいくつかの異なるXSLTエンジンがサポートされています。

"XQuery> Generate Code> Generate C#Code ..."または "XSLT> Generate Code> Generate C#Code ..."オプションを使用して、実際にコードと出席者.slnファイルを作成します。

しかし、何らかの理由でスタイラススタジオの内部でXSLTを使用して.slnファイルを作成する必要がある場合は、ここをクリックしてください。

サンプル入力ファイル: FAE04EC0-301F-11D3-BF4B-00C04F79EFBC ドッグDB3FBB37-100C-40DD-B154-153E3F3A68FF

.xml上方から.slnを作成するために、サンプルXSLTファイル:

<?xml version="1.0"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="text"/> 

    <xsl:template match="/"> 
     <xsl:text>&#xD;&#xA;</xsl:text> 
     <xsl:text>Microsoft Visual Studio Solution File, Format Version 10.00&#xD;&#xA;</xsl:text> 
     <xsl:text># Visual Studio 2008&#xD;&#xA;</xsl:text> 
     <xsl:apply-templates select="projects/project" mode="a"/> 
     <xsl:text>Global&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;GlobalSection(SolutionConfigurationPlatforms) = preSolution&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;&#9;Debug|Any CPU = Debug|Any CPU&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;&#9;Release|Any CPU = Release|Any CPU&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;EndGlobalSection&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;GlobalSection(ProjectConfigurationPlatforms) = postSolution&#xD;&#xA;</xsl:text> 
     <xsl:apply-templates select="projects/project" mode="b"/> 
     <xsl:text>&#9;EndGlobalSection&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;GlobalSection(SolutionProperties) = preSolution&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;&#9;HideSolutionNode = FALSE&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;EndGlobalSection&#xD;&#xA;</xsl:text> 
     <xsl:text>EndGlobal&#xD;&#xA;</xsl:text> 
    </xsl:template> 

    <xsl:template match="project" mode="a"> 
     <xsl:text>Project("{"</xsl:text> 
     <xsl:value-of select="../guid"/> 
     <xsl:text>}") = "</xsl:text> 
     <xsl:value-of select="name"/> 
     <xsl:text>", "</xsl:text> 
     <xsl:value-of select="name"/> 
     <xsl:text>\</xsl:text> 
     <xsl:value-of select="name"/> 
     <xsl:text>.csproj", "{</xsl:text> 
     <xsl:value-of select="guid"/> 
     <xsl:text>}"&#xD;&#xA;</xsl:text> 
     <xsl:text>EndProject&#xD;&#xA;</xsl:text> 
    </xsl:template> 

    <xsl:template match="project" mode="b"> 
     <xsl:text>&#9;&#9;{</xsl:text> 
     <xsl:value-of select="guid"/> 
     <xsl:text>}.Debug|Any CPU.ActiveCfg = Debug|Any CPU&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;&#9;{</xsl:text> 
     <xsl:value-of select="guid"/> 
     <xsl:text>}.Debug|Any CPU.Build.0 = Debug|Any CPU&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;&#9;{</xsl:text> 
     <xsl:value-of select="guid"/> 
     <xsl:text>}.Release|Any CPU.ActiveCfg = Release|Any CPU&#xD;&#xA;</xsl:text> 
     <xsl:text>&#9;&#9;{</xsl:text> 
     <xsl:value-of select="guid"/> 
     <xsl:text>}.Release|Any CPU.Build.0 = Release|Any CPU&#xD;&#xA;</xsl:text> 
    </xsl:template> 
</xsl:stylesheet> 
0

Visual StudioのソリューションファイルはXMLではありませんので、私は期待していませんスタイラススタジオで多くのことをする

ソリューションファイルのスニペット:

 

Microsoft Visual Studio Solution File, Format Version 10.00 
# Visual Studio 2008 
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HttpsUrlWithPort", "HttpsUrlWithPort\HttpsUrlWithPort.csproj", "{9FD67B56-9D49-4989-89D0-06A29ACAA5A3}" 
EndProject 
+0

私はStylusStudioが何であるか分かりませんが、私はVisual Studio SolutionファイルがXML形式であると信じています。 – NotDan

+2

@NotDan:あなたはプロジェクトファイルについて考えています。 –

1

John is correct、メモ帳を使用したほうが良いと思いますが、あなたはしたくない場合は、解決策の多くの種類を作成するために使用することができますfree version of Visual Studio 2008がありますライセンスに投資する。テンプレートドリブンコード生成を行う場合は、CodeSmithをご覧ください。

0

A:t4を使用してください!

Visual StudioのT4コード生成 MicrosoftのT4テンプレート言語を使用してテンプレートを作成します。

Q:私のアプリケーション用のコードをいくつか生成したいのですが、Microsoftにはコード生成プログラムt4があります。

A:Microsoftには、テキストトランスフォーメーションテンプレートツールキットの略称であるコード生成ツールT4があります。

T4にはVisual Studio 2008が付属していますが、VS 2005を使用している場合はダウンロードできます。

関連する問題