如何在Mono下针对.NET 4.0进行编译?

8
我已安装支持4.0版本的mono 2.10。我运行了一个简单的“hello world”网站,该网站是在Windows环境下使用VS2010开发并上传到Linux环境下的,使用的是3.5版本。
我想将该网站转换为4.0版本,在Visual Studio中进行更改后在Windows环境下可以正常工作。但在Linux环境下出现以下错误:
Unrecognized attribute 'targetFramework'
因此,请问我需要哪些步骤才能将目标从3.5版本更改为4.0版本?
注:我没有使用monodevelop。我是在Windows机器上使用Visual Studio创建网站,然后将整个网站文件夹复制到Linux环境下。之后,我打开网站URL即可。
请问何时应运行dmcs编译器?据我所知,当网站第一次运行时会自动编译。

听起来你的问题中隐含了 MonoDevelop。你使用的是哪个版本的 MonoDevelop? - IanNorton
1
没错。在这种情况下,考虑使用xbuild。 - konrad.kruczynski
dup?http://stackoverflow.com/questions/8739406/targeting-and-compiling-for-net-framework-4-0-with-mono - kenny
2个回答

5
尽管在Mono上使用dmcs编译.NET 4应用程序是正确的,但我认为这不是你的问题。听起来你正在尝试在Linux上运行已编译的ASP.NET应用程序。
你的问题可能是需要从Apache调用mod-mono-server4,但很可能正在运行mod-mono-server2。你应该在httpd.conf或mod-mono.conf中有一行看起来像以下内容的代码:
MonoServerPath default /usr/bin/mod-mono-server4

请查看这个页面,特别是故障排除部分。指南有些过时了,所以您需要将数字“2”更改为“4”,但这是对发生了什么的很好的解释。此页面也可能会帮助您设置正确的配置。


3
使用Mono 2.10时,编译代码时可以运行dmcsgmcs -sdk:4命令。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接