[MonoDevelop] syntax definition of "addin.xml"

Vasili I. Galchin vigalchin at gmail.com
Mon Mar 8 16:47:11 EST 2010


Hi Mike,

     Please ignore the below email. I forgot to put in my addin.xml:

  <Extension path = "/MonoDevelop/ProjectModel/MSBuildItemTypes">
                <DotNetProject
                        language="F#"
                        extension="fsproj"
                        guid="{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
                        import="$(MSBuildBinPath)\Microsoft.CSharp.targets"

resourceHandler="MonoDevelop.FSharp.Project.FSharpResourceIdBuilder"
                        />
        </Extension>

This caused the language binding error.

Vasili

On Sun, Mar 7, 2010 at 7:47 PM, Vasili I. Galchin <vigalchin at gmail.com>wrote:

> Hi Michael,
>
>      Below is your suggested development path. For F#, I am able to create
> a console project with a populated file. I put a call to
> LoggingService.Login in all the methods of my implementation of
> IDotNetLanguageBinding .... in particular method Compile. When I select
> "Build" from MonoDevelop I don't see my "Compile" methods LogInfo's! ....
> Instead .... I see ...
>
> WARNING [2010-03-07 19:36:36Z]: Cannot get binding for null language at
> at System.Environment.get_StackTrace()
>    at
> MonoDevelop.Projects.LanguageBindingService.GetBindingPerLanguageName(System.String
> language) in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects/LanguageBindingService.cs:line
> 93
>    at MonoDevelop.Projects.DotNetProject.FindLanguage(System.String name)
> in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetProject.cs:line
> 596
>    at MonoDevelop.Projects.DotNetProject.get_LanguageBinding() in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetProject.cs:line
> 188
>    at MonoDevelop.Projects.DotNetProject.get_SupportedClrVersions() in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetProject.cs:line
> 364
>    at
> MonoDevelop.Projects.DotNetProject.SupportsFramework(MonoDevelop.Core.Assemblies.TargetFramework
> framework) in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetProject.cs:line
> 324
>    at
> MonoDevelop.Projects.DotNetAssemblyProject.SupportsFramework(MonoDevelop.Core.Assemblies.TargetFramework
> framework) in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetAssemblyProject.cs:line
> 56
>    at
> MonoDevelop.Projects.DotNetProject.GetValidFrameworkVersion(MonoDevelop.Core.Assemblies.TargetFramework
> suggestion) in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetProject.cs:line
> 344
>    at
> MonoDevelop.Projects.DotNetProject.set_TargetFramework(MonoDevelop.Core.Assemblies.TargetFramework
> value) in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects/DotNetProject.cs:line
> 275
>    at
> MonoDevelop.Projects.Formats.MSBuild.MSBuildProjectHandler.CreateSolutionItem(System.String
> language, System.String typeGuids, System.String itemType, System.Type
> itemClass) in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs:line
> 257
>    at
> MonoDevelop.Projects.Formats.MSBuild.MSBuildProjectHandler.Load(IProgressMonitor
> monitor, System.String fileName, System.String language, System.Type
> itemClass) in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs:line
> 203
>    at
> MonoDevelop.Projects.Formats.MSBuild.GenericItemTypeNode.LoadSolutionItem(IProgressMonitor
> monitor, System.String fileName, System.String itemGuid) in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectService.cs:line
> 542
>    at
> MonoDevelop.Projects.Formats.MSBuild.MSBuildProjectService.LoadItem(IProgressMonitor
> monitor, System.String fileName, System.String typeGuid, System.String
> itemGuid) in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectService.cs:line
> 83
>    at
> MonoDevelop.Projects.Formats.MSBuild.SlnFileFormat+<LoadSolution>c__AnonStorey58.<>m__24(IProgressMonitor
> , System.String ) in
> /home/vasili/Downloads/monodevelop-2.2.1/src/core/MonoDevelop.Projects/MonoDevelop.Projects.Formats.MSBuild/SlnFileFormat.cs:line
> 662
>    at Mo
>
> I guess that this core code is called before "diving" down into
> IDotNetLanguageBinding code. What have I forgotten to do to cause the
> problem evidenced by exception trace!?
>
> Regards,
>
> Vasili
>
>
> For writing a .NET language binding, there are a few stages of things
>> you can do:
>> 1) stub out the addin
>> 2) file type definitions
>> 3) IDotNetLanguageBinding for project & compilation support
>> 4) file & project templates
>> 5) option panels for setting language-specific project options
>> 6) a syntax highlighting definition
>> 7) code templates
>> 8) a parser, to provide outlining, folding, class list, quick finder,
>> and fill the database that code completion uses
>> 9) a text editor extension subclassing CompletionTextEditorExtension,
>> to provide code completion and smart indentation etc.
>> 10) add Refactorer to the IDotNetLanguageBinding implementation to
>> support things like find refs, rename, insert member etc
>> 11) other things like code formatter etc.
>>
>> I can provide more specifics on any one of these.
>>
>> --
>> Michael Hutchinson
>> http://mjhutchinson.com
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/monodevelop-list/attachments/20100308/bb2395fe/attachment.html 


More information about the Monodevelop-list mailing list