c# - 在 Ubuntu 下使用 mono 运行使用 VS2015 开发的 ASP.Net MVC 项目

标签 c# asp.net-mvc ubuntu-12.04 monodevelop

目前我正在使用 VS2015 在 Windows 下进行 ASP.NET MVC 开发。到目前为止,我做了一些 hello world 初学者教程...

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

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

Ubuntu/monodevelop 设置:

单一开发 5.10版本 安装UUID:65380f1c-f5cd-4b10-bb22-ceecad263cf0 运行: Mono 4.4.1(每晚 4.4.1.0/4747417 UTC 2016 年 6 月 22 日星期三 11:14:49)(64 位) GTK+ 2.24.10(氛围主题)

构建信息 构建信息不可用

操作系统 Linux Linux ubuntu 3.13.0-92-generic#139~precise1-Ubuntu SMP 6 月 29 日星期三 21:30:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

编辑:Windows下的Asp.Net项目:

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

我用谷歌搜索了错误消息,但没有找到可以帮助我解决问题的内容。无论如何,我不知道“只需从 Windows 复制,使用 monodev 运行 - 完成”方法是否有效。但如果这么简单就好了。

提前致谢!

更新:

我在 monodevelop 中更新了 NuGet 包、清理并重建,现在出现以下错误:

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

我再次使用 VS2015 Debug - x86 构建项目,这一次(在 AnyCpu 之前),将其复制到 ubuntu 机器并砰:

遇到同样的错误:

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

最佳答案

理论上,您的项目应该是二进制(MSIL)兼容的,换句话说,您应该能够复制编译后的 .exe 或 .dll 并运行它。然而,问题往往在于细节,我不确定您将如何托管 MVC 项目。

您可能会更轻松地使用 MVC6 和 ASP.NET Core,它们最近发布,从头开始设计为跨平台,并且对自托管有良好的支持,但代价是拥有更小的API 的表面积大于完整的 .NET Framework。但我个人并没有发现这有太大的限制。 Visual Studio Code 也是一个非常好的跨平台编辑器/IDE。

关于c# - 在 Ubuntu 下使用 mono 运行使用 VS2015 开发的 ASP.Net MVC 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38718358/

相关文章:

javascript - 使用两个不同的 Controller 文件时,部分 View ng-click 不起作用

asp.net-mvc - IISExpress 上的 ASP.NET MVC 为每个请求重建整个站点

ruby-on-rails - 无法使用代理选项安装 gem

bash - Docker:bash 终端在没有提示的情况下启动

c#如何实现类型转换器

c# - DataGridView 列格式

c# - ApiController 中的 Url.Route 不包含主机名

c# - 带有 MVVM 模式的 WPF 中的组合框列绑定(bind) (Galasoft)

c# - 为什么在使用动态时我能够在静态上下文中访问非静态方法

Scala 2.9 无法在 Ubuntu 12.04 上运行 HelloWorld