我想知道是否有可能生成某种模板,我在手写笔中提供xml或xsl文件并生成c#代码
我做了一些.cs并且工作正常,但我不能用csproj和sln文件,
所以,这就是我要问的原因
我曾经在c#上编程dll 是一个n层编程
答案 0 :(得分:1)
John is correct,您最好使用记事本,但如果您不想投资许可,可以使用free version of Visual Studio 2008创建多种类型的解决方案。如果您正在尝试进行模板驱动的代码生成,请查看CodeSmith。
答案 1 :(得分:1)
Stylus Studio包括XSLT和XQuery,您可以编写任何文本文件。因此,如果您有正确的源,则可以手动编写.sln
文件 - 因为.sln
文件不是XML。项目文件(如.vbproj
或.csproj
)是XML,可以通过Stylus Studio轻松创建。
这就是你在问什么?
如果您有XSLT或XQuery程序,则可以选择生成代码来驱动该转换。它将为您创建一个Visual Studio项目。对于XQuery,它将使用.Net Saxon XQuery引擎。对于XSLT,支持.Net的几个不同的XSLT引擎。
使用“XQuery>生成代码>生成C#代码...”或“XSLT>生成代码>生成C#代码...”选项来实际创建代码和话务员.sln
文件
但是,如果出于某种原因,您确实希望在Stylus Studio中使用XSLT来创建.sln文件,那么您可以按照以下方式进行操作。
示例输入文件: FAE04EC0-301F-11D3-BF4B-00C04F79EFBC 看家狗 DB3FBB37-100C-40DD-B154-153E3F3A68FF
从.sln
上方创建.xml
的示例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>
</xsl:text>
<xsl:text>Microsoft Visual Studio Solution File, Format Version 10.00
</xsl:text>
<xsl:text># Visual Studio 2008
</xsl:text>
<xsl:apply-templates select="projects/project" mode="a"/>
<xsl:text>Global
</xsl:text>
<xsl:text>	GlobalSection(SolutionConfigurationPlatforms) = preSolution
</xsl:text>
<xsl:text>		Debug|Any CPU = Debug|Any CPU
</xsl:text>
<xsl:text>		Release|Any CPU = Release|Any CPU
</xsl:text>
<xsl:text>	EndGlobalSection
</xsl:text>
<xsl:text>	GlobalSection(ProjectConfigurationPlatforms) = postSolution
</xsl:text>
<xsl:apply-templates select="projects/project" mode="b"/>
<xsl:text>	EndGlobalSection
</xsl:text>
<xsl:text>	GlobalSection(SolutionProperties) = preSolution
</xsl:text>
<xsl:text>		HideSolutionNode = FALSE
</xsl:text>
<xsl:text>	EndGlobalSection
</xsl:text>
<xsl:text>EndGlobal
</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>}"
</xsl:text>
<xsl:text>EndProject
</xsl:text>
</xsl:template>
<xsl:template match="project" mode="b">
<xsl:text>		{</xsl:text>
<xsl:value-of select="guid"/>
<xsl:text>}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
</xsl:text>
<xsl:text>		{</xsl:text>
<xsl:value-of select="guid"/>
<xsl:text>}.Debug|Any CPU.Build.0 = Debug|Any CPU
</xsl:text>
<xsl:text>		{</xsl:text>
<xsl:value-of select="guid"/>
<xsl:text>}.Release|Any CPU.ActiveCfg = Release|Any CPU
</xsl:text>
<xsl:text>		{</xsl:text>
<xsl:value-of select="guid"/>
<xsl:text>}.Release|Any CPU.Build.0 = Release|Any CPU
</xsl:text>
</xsl:template>
</xsl:stylesheet>
答案 2 :(得分:0)
Visual Studio解决方案文件不是XML,因此我不希望Stylus Studio对它们做很多事情。
解决方案文件的摘录:
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
答案 3 :(得分:0)
答:使用t4!
Visual Studio的T4代码生成 使用Microsoft的T4模板语言创建模板。
问:我想为我的应用程序生成一些代码,Microsoft有一个代码生成器,t4。答:Microsoft有一个代码生成工具T4,它代表Text Transformation Templating Toolkit。
T4附带Visual Studio 2008,或者如果您使用的是VS 2005,则可以下载它。