2010-10-01 58 views
2

嘿大家好,我正在尝试(暂时!)在我的iMac上做一些ASP.NET和C#编译。Mac OS X Mono ASP.NET和C#编译过程

哈哈,太有趣了试图做到这一点在iMac上,这感觉.. 错了!

无论如何,我发现Mono是要做到这一点,在我看来,最好的方式。

我有下面的代码一个简单的ASP.NET页面:

1 <%@ Page Language="C#" %>  
2 <html>  
3 <head>  
4 <title>Planting Trees</title>  
5 <script runat="server">  
6 protected void Page_Load(Object Source, EventArgs E)  
7 {  
8  string msg = "Let's plant some trees!<br/>";  
9  
10  // Create a new Tree  
11  Tree tree1 = new Tree();  
12  
13  msg += "I've created a tree with a height of " +  
14  tree1.height + " metre(s).<br/>";  
15  
16  tree1.Grow();  
17  
18  msg += "After a bit of growth, it's now up to " +  
19  tree1.height + " metre(s) tall.<br/>";  
20  
21  Tree tree2 = new Tree();  
22  Tree tree3 = new Tree();  
23  tree2.Grow();  
24  tree3.Grow();  
25  tree2.Grow();  
26  tree3.Grow();  
27  tree2.Grow();  
28  msg += "Here are the final heights:<br/>";  
29  msg += " tree1: " + tree1.height + "m<br/>";  
30  msg += " tree2: " + tree2.height + "m<br/>";  
31  msg += " tree3: " + tree3.height + "m<br/>";  
32  
33  Output.Text = msg;  
34 }  
35 </script>  
36 </head>  
37 <body>  
38 <p><asp:label runat="server" id="Output" /></p>  
39 </body>  
40 </html> 

现在,我有这个简单的C#类与它一起去:

// Tree.cs, A simple C# class 

public class Tree { 

    public int height = 0; 

    public void Grow() { 
    height += 1; 
    } 
} 

现在,ASP。 NET页面位于我的iMac的主目录中,并且.cs C#类文件位于主目录中的bin下。

现在,我不是100%确定,但是我需要将.cs编译为.dll才能正常工作吗?

任何建议,非常感谢!

回答

1

你需要设置是mod_mono所以你确实有一个应用程序服务器提供了网页。

这就是说,你说得对,你需要编译.CS成.NET组件(DLL)。

我只能从Windows世界说话,但我相信单世界一样的。你不能只编译你的类并让它运行 - 一个ASP.NET Web应用程序需要一些东西(比如global.asax和web.config),以便它知道你的页面应该如何提供。

我不确定你在使用什么IDE,但你最好的选择可能是下载简单的单例ASP.NET应用程序,并尝试填充你自己的代码。所有的配置和生命周期功能起初可能令人望而生畏,老实说,你应该忘记它们甚至存在,而你仍然只是玩弄页面和代码隐藏。

或者你可以尝试通过这个CodeProject上会:http://www.codeproject.com/KB/cross-platform/introtomono2.aspx

这是很过时,但原则是一样的。

+0

非常感谢您!我实际上可以消除'.dll'问题,只需在.aspx文件的@ Page指令中引用类'.cs'文件的'src =“”'属性,“服务器”就可以处理它所有的神奇!无需创建.dll或处理任何其他页面。对于任何有这个问题的人来说,这是一个简单的解决方案,我通过上面的链接找到了它!真棒! :d – Qcom 2010-10-01 05:12:04