在Ubuntu Linux 14.04上运行的Monoddevelop Dnx Addin是否允许我们调试带有符号的C#

本文关键字:我们 许我们 调试 符号 是否 Linux Ubuntu 运行 Addin Dnx Monoddevelop | 更新日期: 2023-09-27 18:27:11

我今天发现,当我安装Monoddevelop AddInMaker和Monosdevelop Monosdevelope DNX插件在Monosdevelopment 6.0之上为UbuntuLinux,Monosdevelop Run Debugger子菜单有一个Monosoft DNX调试器和Microsoft.NET DNX调试器。当我点击这些来自一个新控制台C#项目的两个调试器,我观察到了错误消息,"不允许激活调试器"

我很想知道Monodevelopment Dnx Addin是否会让我们用符号调试C#托管代码。此外,我想了解如何使用Monodevelt 6.0和运行在Ubuntu Linux 14.04上的Monodevell AddInMaker和Monodevelow Monodeveld DNX Addin创建DNX C#项目。

使用以下步骤将现有项目迁移到Addin Maker意味着什么?

  • 将{86F6BF2A-E449-4B3E-813B-9ACC37E5545F}添加到项目的风味中GUID,即C#:{86F6BF2A-E449-4B3E-813B-9cc37e545f};{FAE04EC0-301F-11D3-BF4‌​B-00C04F79EFBC}

  • 添加对NuGet包monodevelop.addins 的引用

  • 删除对MonoDevelop/Xamarin Studio中包含的程序集的所有引用。删除所有加载项依赖项声明从清单和程序集属性。

  • 为您在上一步。

DNX是否使用Roslyn csc.exe编译器?

在Ubuntu Linux 14.04上运行的Monoddevelop Dnx Addin是否允许我们调试带有符号的C#

使用MonoDevelop的DNX插件调试DNX的支持有限。在Windows上根本不支持它。在Mac和Linux上,如果你安装了Mono 4.3并用于运行MonoDevelop,那么如果你使用Mono DNX运行时,你可以点击断点。

在Mac和Linux上,有两种可能的DNX运行时:Mono和.NET Core。这些映射到project.json文件中的框架:dnx451和dnxcore50。这些运行时是使用dnvm工具安装的。不支持使用.NET Core运行时进行调试。如果使用Mono 4.3运行MonoDevelop,则使用DNX Mono运行时的调试将遇到断点。然而,目前的调试体验并不是很好。

Addin Maker仅用于构建和调试DNX加载项本身。你可以生成一个.mpack并将其安装到MonoDevelop中,这样你就不必从源代码调试DNX插件了。在某个时候,我会发布DNX插件,这样你就不必从源代码构建它了。

在"新建项目"对话框的"其他-ASP.NET-ASP.NET 5"部分中,DNX加载项提供了三个项目模板。

将现有项目迁移到Addin Maker意味着什么使用以下步骤?

没有必要迁移任何内容。外接程序生成器仅用于构建DNX外接程序。如果将DNX插件安装到MonoDevelop中,则使用DNX插件创建新的DNX项目不需要它。

DNX是否使用Roslyn csc.exe编译器?

该加载项使用Microsoft提供的DNX主机。据我所知,这使用了Roslyn中的部分,但没有直接调用Roslyn csc.exe编译器。如果你在~/.dnx/runtimes目录中查看,你可以看到它包括一些Roslyn.dll,如Microsoft.CodeAnalysis.CSharp.dll。

相关文章: