如何在monodevelop中添加项目或模板类型?

时间:2018-09-12 22:44:53

标签: ubuntu project monodevelop

如何在monodevelop中添加项目类型? 所以我可以从该模板创建一个项目。

我使用ubuntu 18.10。

1 个答案:

答案 0 :(得分:1)

如果使用的是MonoDevelop 7.0,最简单的方法是安装Template Creator addin。通过右键单击项目,选择“创建模板”,输入一些元数据,然后可以在“新建项目”对话框中使用该模板,可以从现有项目中创建项目模板。

否则,您可以创建自己的addin并将项目模板注册在插件的.addin.xml文件中。

下面的示例使用旧的模板引擎文件格式。

Addin的.addin.xml文件:

<Extension path = "/MonoDevelop/Ide/ProjectTemplates">
    <ProjectTemplate id = "MonoDevelop.CSharp.ConsoleProject" resource = "ConsoleProject.xpt.xml"/>
</Extension>

示例项目模板文件:

<?xml version="1.0"?>
<Template originator   = "Mike Krueger"
          created      = "06/10/2001"
          lastModified = "02/01/2003">

    <!-- Template Header -->
    <TemplateConfiguration>
        <_Name>Console Project</_Name>
        <Category>other/net/general</Category>
        <Icon>md-console-project</Icon>
        <Image id="md-console-project" />
        <LanguageName>C#</LanguageName>
        <_Description>Creates a new C# console project.</_Description>
        <DefaultFilename>ConsoleProject</DefaultFilename>
        <GroupId>md-project-console</GroupId>
    </TemplateConfiguration>

    <!-- Actions -->
    <Actions>
        <Open filename = "Program.cs"/>
    </Actions>

    <!-- Template Content -->
    <Combine name = "${ProjectName}" directory = ".">
        <Options>
            <StartupProject>${ProjectName}</StartupProject>
        </Options>

        <Project name = "${ProjectName}" directory = ".">
            <Options ExternalConsole="True"/>
            <References>
                <Reference type="Package" refto="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            </References>
            <Files>
                <File name="Program.cs" AddStandardHeader="True"><![CDATA[using System;

namespace ${Namespace}
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}]]></File>
            <FileTemplateReference TemplateID="CSharpAssemblyInfo" name="AssemblyInfo.cs" />
            </Files>
        </Project>
    </Combine>
</Template>

MonoDevelop 7.0还支持.NET Core(dotnet)模板引擎。这样,您就可以使用模板创建一个NuGet包(.nupkg),并在.addin.xml文件中进行引用:

<Extension path="/MonoDevelop/Ide/Templates">
    <Template
        id="Microsoft.Common.Console.CSharp"
        _overrideName="Console Application"
        _overrideDescription="Creates a new .NET Core console project."
        path="Templates/Microsoft.DotNet.Common.ProjectTemplates.1.x.1.0.0-beta2-20170430-208.nupkg"
        icon="md-netcore-console-project"
        imageId="md-netcore-console-project"
        condition="UseNetCore1x=true"
        category="netcore/app/general"/>
</Extension>