gpt4 book ai didi

c# - Mac OS X Mono ASP.NET和C#编译过程

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:25 26 4
gpt4 key购买 nike

大家好,我正在尝试(暂时!)在我的 iMac 上编译一些 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 才能正常工作?

非常感谢任何建议!

最佳答案

您需要设置 mod_mono,这样您实际上就有一个应用服务器来提供页面。

也就是说,您需要将 .CS 编译成 .NET 程序集 (DLL) 是对的。

我只能从 Windows 世界说起,但我认为单声道世界大同小异。您不能只编译您的类并让它运行 - ASP.NET Web 应用程序需要一些东西(如 global.asax 和 web.config),因此它知道应该如何提供您的页面。

我不确定您使用的是什么 IDE,但最好的办法可能是下载一个简单 Mono 示例 ASP.NET 应用程序并尝试填充您自己的代码。所有的配置和生命周期特性一开始可能会让人望而生畏,老实说,当您还在玩弄页面和代码隐藏时,您甚至应该忘记它们的存在。

或者,您可以尝试浏览此代码项目:http://www.codeproject.com/KB/cross-platform/introtomono2.aspx

它已经过时了,但原则保持不变。

关于c# - Mac OS X Mono ASP.NET和C#编译过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3836464/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com