Mac OS X Моно ASP.NET и C # процесс компиляции - PullRequest
2 голосов
/ 01 октября 2010

Привет всем, я пытаюсь ( временно! ) сделать некоторые ASP.NET и C # компиляции на моем iMac.

Ха-ха, это так забавно пытаться сделать это на 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%, но мне нужно скомпилировать * 1020?* в .dll чтобы это работало?

Любые предложения с благодарностью!

1 Ответ

1 голос
/ 01 октября 2010

Вам нужно настроить mod_mono, чтобы у вас действительно был сервер приложений для обслуживания страниц.

Тем не менее, вы правы, что вам нужно скомпилировать ваш .CS в сборку .NET (DLL).

Я могу говорить только из мира Windows, но я предполагаю, что моно мир во многом такой же. Вы не можете просто скомпилировать свой класс и запустить его - веб-приложение ASP.NET ожидает несколько вещей (например, global.asax и web.config), поэтому оно знает, как следует обслуживать ваши страницы.

Я не уверен, какую IDE вы используете, но вам лучше всего загрузить простой моно пример приложения ASP.NET и попытаться вставить свой собственный код. Все функции конфигурации и жизненного цикла могут поначалу устрашать, и, честно говоря, вы должны забыть о том, что они даже существуют, пока вы просто играете со страницами и кодом.

Также вы можете попробовать выполнить этот CodeProject: http://www.codeproject.com/KB/cross-platform/introtomono2.aspx

Это довольно устарело, но принципы остаются прежними.

...