如何在monodevelop中添加项目类型? 所以我可以从该模板创建一个项目。
我使用ubuntu 18.10。
答案 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>