运行一个在Ubuntu下用VS2015开发的单声道ASP.Net MVC项目

问题描述:

目前我在VS2015的windows下玩ASP.NET MVC开发。直到现在,我做了一些你好世界初学者教程...运行一个在Ubuntu下用VS2015开发的单声道ASP.Net MVC项目

我想知道是否有可能将VS项目文件夹从Windows复制到Ubuntu虚拟机,并在那里运行monodevelop ?!所以我用Ubuntu安装了一个虚拟机,安装了单声道,monodevelop等。并在那里制作了相同的Hello World教程,这些教程很有效。但是,当我将windows项目复制到ubuntu vm的某个目录并用monodevelop打开它时,我总是在尝试构建时收到以下错误消息:

/home/Projects/Asp.Net/TestAspNet/CSC:错误CS0041:编写调试信息时发生意外错误 - '该方法或操作未实现。“ (CS0041)(TestAspNet)

的Ubuntu/MonoDevelop中设置:

MonoDevelop的 版5.10 安装UUID:65380f1c-f5cd-4B10-BB22-ceecad263cf0 运行时间: 单声道4.4.1(4.4每晚。 1.0/4747417星期三06月22 11时14分49秒UTC 2016)(64位) GTK + 10年2月24日(气氛主题)

构建信息 构建不可用的信息

操作系统 Linux的 Linux操作系统Ubuntu 3.13.0-92泛型#139〜precise1 Ubuntu的SMP周三6月29日21时30分37秒UTC 2016 x86_64的x86_64的x86_64的GNU/Linux的

编辑:Asp.Net项目视窗下:

VS2015,目标,框架4.5,空MVC模板4.5

我GOOGLE了错误消息,但并没有发现一些东西,帮我解决了这个问题。无论如何,我不知道,“从窗口复制,运行monodev - 完成”的方法是一个有效的方法。但如果那么简单,那将是非常棒的。

在此先感谢!

更新:

我更新的NuGet在MonoDevelop中的软件包,清理和重建,现在我得到了以下错误:

/home/Projects/Asp.Net/FromVS2015/TestAspNet/TestAspNet/CSC :错误CS0041:编写调试信息意外错误 - 'Windows PDB编写器不可用 - 找不到Microsoft.DiaSymReader.Native.amd64.dll'(CS0041)

我使用VS2015 Debug-x86再次构建项目,这次(在它是AnyCpu之前),将它复制到ubuntu机器和b昂:

得到了同样的错误:

/home/Projects/Asp.Net/TestAspNet/CSC:错误CS0041: - “该方法或操作未实现”意外的错误写入调试信息(CS0041)(TestAspNet)

+0

我刚加了一个空控制器,返回“Hello world”。你想让我发布哪些文件? – GinSonic

+0

在这种情况下,您的Mono版本似乎不提供一些内部asp.net方法的实现。你使用哪个版本的asp mvc? – xalz

+0

我编辑了这个问题:VS2015,Target-Framework 4.5,空MVC模板4.5 – GinSonic

理论上你的项目应该是二进制(MSIL)兼容的,换句话说你应该能够复制已编译的.exe或者.exe文件。dll结束并运行它。然而,魔鬼最常见的细节,我不知道你将如何主办一个MVC项目。

对于MVC6和ASP.NET Core来说,您可能会更容易一些,它最近已经发布并且从底层开始设计为跨平台,并且具有对自托管的良好支持,代价是具有比完整的.NET Framework更小的API表面积。尽管如此,我个人并没有发现这是一个太大的限制。 Visual Studio Code也是一个相当不错的跨平台编辑器/ IDE。

+0

我给了它另一天的调查,但“没有”成功。我在Ubuntu上更新了单声道版本,排除了VS项目中的一些DLL,编译它针对x86,x64,anycpu,读取大量文章等等...... 我在windows机器上安装了xamarin,打开了VS-Project,建立它,然后将它复制到Ubuntu并在那里打开它monodevelop工作!但在那个时候,我太累了,没有想到它的好处:) – GinSonic