[英]Xamarin Studio or Visual Studio on a VM?
我将很快开始攻读学位课程的最后一年的项目,目标是创建一个具有ASP.NET C#前端和SOAP(或REST,尚未完全确定)Web服务后端的Web应用程序。 我将在MacBook上进行开发,这带来了ASP.NET是Microsoft框架而Visual Studio无法用于Mac OS的问题,因此我转向了Mono框架及其IDE Xamarin Studio。
我创建了一个非常非常基本的SOAP Web服务,可以在这里找到它,并将其部署到glassfish并可以导航到wsdl。 当我尝试使用Xamarin Studio中的Web服务时,问题就开始了,我可以很好地设置代理,并且创建了一个非常简单的页面,该页面应显示调用add
web方法的结果。 标记:
<%@ Page Language="C#" Inherits="TryItOutNetApplication.Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head runat="server">
<title>Default</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Button id="button1" runat="server" Text="Click me!" OnClick="button1Clicked" />
Hey, the result of 1 + 2 is:
<asp:Label id="label1" runat="server" />
</form>
</body>
</html>
后面的代码:
namespace TryItOutNetApplication
{
using System;
using System.Web;
using System.Web.UI;
using localhost;
public partial class Default : System.Web.UI.Page
{
private FYPTestWebService ws;
protected void Page_Init(object sender, EventArgs e)
{
ws = new localhost.FYPTestWebService();
}
protected void Page_Load(object sender, EventArgs e)
{
int i = ws.add(1,2);
label1.Text = i.ToString();
}
public void button1Clicked (object sender, EventArgs args)
{
button1.Text = "You clicked me";
}
}
}
然后,当我尝试运行该应用程序时出现以下错误:
Application Exception
System.Net.Sockets.SocketException
Connection reset by peer
Description: HTTP 500.Error processing request.
Details: Non-web exception. Exception origin (name of application or object): System.
Exception stack trace:
at System.Net.Sockets.Socket.EndReceive (IAsyncResult result) [0x0002d] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System/System.Net.Sockets/Socket_2_1.cs:1816
at System.Net.Sockets.NetworkStream.EndRead (IAsyncResult ar) [0x0002f] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System/System.Net.Sockets/NetworkStream.cs:32
我还没有找到Xamarin Studio的帮助,与Visual Studio相比,它通常看起来很糟糕。
我的问题是
a)我在上面的代码/设置中只是在做一些愚蠢的事情吗?
b)我应该报废Mono / Xamarin Studio并使用VirtualBox之类的东西安装Visual Studio并改为使用它吗?
关键是:您的应用程序最终将在哪里:在Windows Server或Linux Server中(或换句话说:在.NET框架或Mono框架中)。
并不是说您不能在一个框架中进行开发,而不能在另一个框架中进行部署,但是如果您在必须最终运行的同一框架中进行开发,您的惊喜就会减少!
另外,您可以同时在Visual Studio和Xamarin / Monodevelop中使用同一项目(嗯,也许有一些解决方案文件覆盖之战...)。
我个人建议将Visual Studio安装到Mac上的虚拟机,至少对我来说更有意义。
嘿,您应该考虑直接在Visual Studios 2013中进行开发,它就像使用VMWare Fusion的冠军一样。 有一个桥连接模拟器Xamarin iOS Build Host,一旦连接就可以编写代码了!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.