我今天发现当我安装Monodevelop插件时
Monodevelop Monodevelop DNX Addin为Ubuntu在Monodevelop 6.0之上
Linux,Monodevelop运行调试器子菜单有一个Monosoft DNX
调试器和Microsoft.NET DNX调试器。当我点击这些
来自一个新控制台C#项目的两个调试器,我观察到错误
消息“不允许激活调试器”
我想知道Monodevelop Dnx Addin是否允许我们用符号调试C管理代码。另外,我想了解如何使用Monodevelop 6.0和运行在Ubuntu Linux 14.04上的Monodevelop AddInMaker和Monodevelop DNX Addin创建DNX C#项目。
使用以下步骤将现有项目迁移到插件制造商意味着什么?
添加{86f6b2a-E449-4B3E-813B-9ACC37E5545F}到项目风味中
指南,即C#:
{86F6BF2A-E449-4B3E-813B-9ACC37E5545F};{FAE04EC0-301F-11D3-BF4‌B-00C04F79EFBC}
添加对NuGet包monodevelop.addins的引用
删除对MonoDevelop/Xamarin Studio中包含的程序集的所有引用。删除所有加载项依赖项声明
从清单和程序集属性。
为在中删除的所有依赖项添加加载项引用
上一步。
DNX是否使用Roslyn csc.exe编译器?

最佳答案

使用DNX加载项进行MonoDevelop调试DNX的支持有限。在Windows上根本不支持它。在Mac和Linux上,如果您安装了Mono4.3并正在用于运行MonoDevelop,那么如果您使用的是MonoDNX运行时,则可以命中断点。
在Mac和Linux上,有两种可能的DNX运行时:Mono和.NET Core。这些映射到project.json文件中的框架:dnx451和dnxcore50。这些运行时是使用dnvm工具安装的。不支持在使用.NET Core运行时进行调试。如果使用Mono 4.3运行MonoDevelop,使用DNX Mono运行时的调试将遇到断点。但是目前的调试经验并不是很好。
加载项生成器仅用于生成和调试DNX加载项本身。您可以生成一个.mpack并将其安装到MonoDevelop中,这样就不必从源代码调试DNX加载项。在某个时候,我将释放DNX加载项,这样您就不必从源代码构建它。
在“新建项目”对话框的“其他-ASP.NET-ASP.NET 5”部分中,DNX加载项提供了三个项目模板。
将现有项目迁移到插件制造商意味着什么?
使用以下步骤?
不需要迁移任何东西。加载项生成器仅用于生成DNX加载项。如果DNX加载项已安装到MonoDevelop中,则使用DNX加载项创建新的DNX项目时不需要。
DNX是否使用Roslyn csc.exe编译器?
加载项使用Microsoft提供的DNX主机。据我所知,这使用了Roslyn的部分代码,但没有直接调用Roslyn csc.exe编译器。如果您查看~/.dnx/runtimes目录,您可以看到它包含一些Roslyn.dll,例如Microsoft.codealysis.CSharp.dll。

关于c# - 在Ubuntu Linux 14.04上运行的Monodevelop Dnx插件是否允许我们调试带符号的C#托管代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34346091/

10-13 07:17