[MonoDevelop] Documentation on hardcore features of Monodevelop

Michael Hutchinson m.j.hutchinson at gmail.com
Sun Nov 9 20:46:38 EST 2008

On Sun, Nov 9, 2008 at 6:47 PM, Etienne Fortin
<etienne.fortin at sympatico.ca> wrote:
> Hello Michael,
> Thanks for your quick answer. Unfortunetly you gave me the answer I feared,
> but I understand. There are so much tasks to complete in these projects that
> documentation sometimes suffer.
> I got started looking at the current templates in the source distribution of
> MD 2.0 Alpha 1 (strangely enough named 1.9.something). What I would like to
> do, for now, is the following:
> 1) Include non compilable files in the directories tree of a project (like
> bmp, png, key files, xml, etc...). Right now every time I include a file, it
> gets compiled and I need to manually remove it from the compilation list.
> Probably something like "Compile="False"" on the <File> tag, but hard to
> find it just by trying various possibilities...

You can set the BuildAction of a file in the template (take a look at
the AspNetAddin or Moonlight templates). MD trunk supports arbitrary
BuildAction values (for MSBuild compatibility), though only some of
these are actually respected by MD's build system.

I also recently overworked the default build actions in trunk, so
projects automatically set a good default build action for files that
do not have one explicitly specified. Compileable files are added with
the "Compile" build action; other files are added as "None". The
ASP.NET project overrides this to set it to "Content" for web files.

> 2) Add custom commands. I used a pyton script with Visual Studio 2008
> Express that automated the namespace naming based on the directory source
> tree (ie where the source file is located in that tree). Right now I need to
> add the custom command manually after the project is created. I would like
> it to be put in there by the template. I guess it must go in the <Options>
> tag of a project, but I can't figure out what value to put in there.

I don't think custom commands can be added by templates,
unfortunately. Could you file an enhancement bug?

For this specific thing though, there's a checkbox on the project
options that sets the namespace for new files based on the directory

> 3) Linked to 1), but instead of adding files based on templates, add files
> residing in the directory of the template. Useful for what I want to do in
> 1). Something like <File path="myfile.some_extension"/>

You can currently link other file templates, but not arbitrary files.
This might be a useful feature. Could you file an enhancement bug?

> FYI, my templates are all based on the CSharpBindings addin, meaning that I
> reuse the same DLL so the same code is run behind.
> I sure will look at documenting what I find out with Templates. I'll let you
> know.


Michael Hutchinson

More information about the Monodevelop-list mailing list