无法获得xamarin andriod项目以在同一解决方案中查看可移植类项目类

时间:2017-08-21 12:02:01

标签: visual-studio xamarin

环境 - 如果您需要其他信息,请告诉我们。

Windows 10开发人员笔记本电脑(最新的服务包和更新)

Visual Studio 2017 15.3
.net - 4.7.02046 xamarin 4.6.0295
xamarin.android sdk 7.4.0.19 java 1.8

我有一个包含4个项目的解决方案

  1. 便携式课程库
  2. android UI
  3. IOS UI
  4. Windows用户界面
  5. 我正在尝试从android ui访问便携式类中的类。 ValidateShopLoginAsync存在于可移植类库中。以下是来自android UI项目和代码。

    Boolean shopvalidated = ValidateShopLoginAsync("http://m.rometech.net/MWebService/AuthenticateUser", globalshopid, globalshoplicense);
    

    ETechX是便携式类的命名空间,但它在使用中无法识别它。以下是来自Android ui项目和代码。

    using System;
    using ETechX;
    using System.Threading.Tasks;
    using Android.App;
    using Android.Text;
    using Android.Content;
    using Android.Runtime;
    using Android.Views;
    using Android.Widget;
    using Android.OS;
    

    我将Android项目中的引用添加到了可移植类库中。

    以下是可移植类库项目和代码段中的代码。此处列出了任务ValidateShopLoginAsync。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net.Http;
    using System.Text;
    using System.Threading.Tasks;
    using Windows.Web.Http;
    using HttpClient = System.Net.Http.HttpClient;
    
    namespace ETechX
    {
        class ETechX
        {
            public async Task<bool> ValidateShopLoginAsync(Uri tUri, string tShopIdentification, string tShopLicense)
            {
                var soapString = "<?xml version='1.0' encoding='utf-8'?><soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'><soap:Body><AuthenticateUser xmlns='http://m.rometech.net/MWebService'><shopIdentification>" + tShopIdentification + "</shopIdentification><shopLicence>" + tShopLicense + "</shopLicence></AuthenticateUser></soap:Body></soap:Envelope>";
                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Add("SOAPAction", "http://m.rometech.net/MWebService/AuthenticateUser");
                    var content = new StringContent(soapString, Encoding.UTF8, "text/xml");
                    var response = await client.PostAsync(tUri, content);
                    using (response)
                    {
                        var soapResponse = await response.Content.ReadAsStringAsync();
                        return ParseSoapResponse(soapResponse);
                    }
                }
    
            }
    
    
    
           private bool ParseSoapResponse(string soapResponse)
            {
                throw new NotImplementedException();
            }
        }
    }
    

    我读过的所有内容都说这应该可行,但我必须遗漏其他内容,没有人告诉我将android项目链接到便携式类库中的任务。

    我仔细研究了100条评论。甚至电子邮件Xamarin支持。他们还没有回应我发给他们的任何东西。不确定他们是否做出回应。

    当我开始工作时,它将解决我现在遇到的大量问题。请协助。

0 个答案:

没有答案