Xamarin.forms 未设置搜索/查找FindAccountsforService异步对象引用
我之前在Xamarin visual studio 2017中创建了项目,现在将其升级到visual studio 2019最新版本16.3.3。 目前我正在MAC上使用以下版本Xamarin.forms 未设置搜索/查找FindAccountsforService异步对象引用,xamarin.forms,visual-studio-2019,Xamarin.forms,Visual Studio 2019,我之前在Xamarin visual studio 2017中创建了项目,现在将其升级到visual studio 2019最新版本16.3.3。 目前我正在MAC上使用以下版本 xamarin ios - 13.2.0.47 Mono 6.4.0.208 visual studio mac - 8.3.2 代码 DriverItemList.RootObject getData = await GetDataFromService(usernameEntry.Text.Trim(), pa
xamarin ios - 13.2.0.47
Mono 6.4.0.208
visual studio mac - 8.3.2
代码
DriverItemList.RootObject getData = await GetDataFromService(usernameEntry.Text.Trim(), passwordEntry.Text.Trim());
public static async Task<dynamic> GetDataFromService(string drivernumber, string password)
{
try
{
var URL = Constants.Url;
var uri = URL + "api/Drivers/CheckDriverPassword?driverNum=" + System.Net.WebUtility.UrlEncode(drivernumber) + "&pswd=" + System.Net.WebUtility.UrlEncode(password);
string result = "";
using (HttpClientHandler ClientHandler = new HttpClientHandler())
using (HttpClient Client = new HttpClient(ClientHandler))
{
Client.Timeout = TimeSpan.FromSeconds(60);
//var result1 = await Client.GetStringAsync(uri);
using (HttpResponseMessage ResponseMessage = await Client.GetAsync(uri))
{
if (ResponseMessage.StatusCode == HttpStatusCode.OK)
{
using (HttpContent Content = ResponseMessage.Content)
{
result = await Content.ReadAsStringAsync();
}
}
}
}
DriverPass.RootObject posts = JsonConvert.DeserializeObject<DriverPass.RootObject>(result);
return posts;
}
catch (Exception ex)
{
return null;
}
}
您能否帮助我确定并解决此问题。在更新visual studio之前/之后,您是否更改了任何代码?您可以尝试删除bin/obj文件夹并再次重建。我以前见过一个人,它已在最新版本中修复。你使用的是Xamarin.Auth 1.7.0吗?@JackHua MSFT是的,我使用的是Xamarin.Auth 1.7.0最新版本。你更改代码了吗?你能给我们一个样本项目吗?@JackHua MSFT我更改代码。我为timer添加了这个函数,在注释之后是stop to crash Device.StartTimer(分钟,()=>{if(Constants.timerIsRunning==true){GetPosition();return true;}else{return false;}});你把它加在哪里?我没有在你在问题中发布的代码中看到这一行。
private void StartTimers()
{
if (Constants._UserType != "U")
{
double runtime = 3;
double.TryParse(Constants.LocatinRunTime.ToString(), out runtime);
var minutes = TimeSpan.FromMinutes(runtime);
(int)ConvertMinutesToMilliseconds(Double.Parse(Constants.LocatinRunTime.ToString()));
// DateTime starttime = DateTime.Now;
Device.StartTimer(minutes, () =>
{
if (Constants.timerIsRunning == true)
{
GetPosition();
return true;
}
else
{
return false;
}
});
}
}