繁体   English   中英

Xamarin Studio或VM上的Visual Studio?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM