该应用程序在 Android 6 或更低版本上运行。但是当在 Android 7 (Nougat) 上运行时,它会抛出运行时异常。
System.InvalidCastException: Unable to convert instance of type 'Android.Widget.LinearLayout' to type 'Android.Support.V7.Widget.Toolbar'.
Run Code Online (Sandbox Code Playgroud)
错误在 Xamarin (Visual Studio 2017) 中抛出,代码如下:
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
ToolbarResource = Resource.Layout.toolbar;
TabLayoutResource = Resource.Layout.tabs;
base.OnCreate(bundle); //Runtime error here
.... Other code ...
}
}
Run Code Online (Sandbox Code Playgroud)
我已经对所有 Nuget 包进行了最新更新,但无法确定问题。为了进行测试,我使用的是 Moto G4+(Android 7.0)。有人可以帮忙吗?
编辑1:
工具栏的布局如下:(在资源> 布局> 工具栏.axml 下)。这在 Android 6 的 App 版本发布时就已经存在了。但是现在因为 Android 7 问题访问了应用程序。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent" …Run Code Online (Sandbox Code Playgroud) 这似乎与其他类似问题重复,但它们是旧线程,并不是Windows UWP应用程序特有的.
我无法在WebView中设置自定义标头,因此WebView中加载的URL可能对我有用.
我见过许多论坛提供解决方案,比如使用带有标头的HttpClient/WebRequest但是在我的情况下不起作用,用于重定向的Web地址使用Javascript,在重定向之前,它需要很少的自定义标头才能正确加载.
此外,WebView.NavigateWithHttpRequestMessage不太适合回发,我需要每个请求的标头,包括Web视图中的 javascript重定向URL .
我可以使用Renderers在Xamarin.Droid项目中设置自定义标题,但我找不到任何UWP解决方案Windows.UI.Xaml.Controls.WebView.
目前,我的企业UWP应用使用用户的AD用户名和密码进行身份验证,该用户名和密码通常与Windows登录用户相同。我需要删除此要求,并允许用户基于当前Windows用户直接登录到应用程序。我一直在搜索很多,发现它是针对WebSite而不是针对app。我正在使用以下客户端:
var filter = new HttpBaseProtocolFilter();
Windows.Web.Http.HttpClient client = new Windows.Web.Http.HttpClient(filter);
client.GetAsync(url);
Run Code Online (Sandbox Code Playgroud)
是否有任何资源可以在UWP app中使用哪些Windows单一登录身份验证来完成?
编辑:
某些解决方案是特定于Azure目录的,但是在我的情况下,它可能并非始终是Azure目录,但可能是具有域凭据(ADFS)的企业级Active Directory,使用UWP app的用户将使用与Windows登录凭据相同的凭据登录。因此,我一直在寻找当前Windows登录用户无需重新输入凭据即可登录的解决方案。可能类似于Chrome / IE浏览器自动登录Intranet网站。
我想为 TFS 源代码控制配置自定义比较。它需要diffmerge.exe从上下文菜单命令执行的位置路径。但是我找不到diffmerge.exe程序文件中的路径。我在以下位置搜索文件,但找不到。我正在使用 Visual Studio 2015 专业版。
"Program Files" > Microsoft Visual Studio 10.0, 12.0, 14.0 (separate folders)
"Program Files (x86)" > Microsoft Visual Studio 10.0, 11.0, 12.0, 14.0 (separate folders)
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙定位文件吗?