Я подтвердил, что простое присутствие (даже если оно не используется) следующего стиля в App.xaml ResourceDictionary проекта UWP Xamarin Forms приводит к cra sh при запуске приложения UWP при компиляции с . NET Собственная цепочка инструментов включена в режиме выпуска (x64, но не думаю, что это имеет значение в этом случае). Работает на 100% без. NET встроенной цепочки инструментов, но очень хотел бы сохранить этот пользовательский стиль и воспользоваться преимуществами более быстрого приложения, скомпилированного изначально. Кто-нибудь знает, почему приложение рушится? Кажется, я даже не могу понять, как получить более подробное сообщение об ошибке, отличное от того, что я вижу в Windows средстве просмотра событий, которое просто говорит, что Windows .UI.Xaml.dll - это имя модуля с ошибкой.
ОБНОВЛЕНИЕ: , отключив «оптимизировать код» и включив DEBUG в режиме Release и запустив VS, я смог получить следующее…, что привело меня к [великолепной] библиотеке анимации, которой я был используя Xamanimation ... все еще не уверен, что связь между пользовательским стилем в моем UWP app.xaml и этой проблемой, но исправление этой реальной проблемы, конечно, решило все (то есть стиль был красной сельдью). Ниже добавлен ответ на этот вопрос.
System.Private.Interop.dll! System.Runtime.InteropServices.McgMarshal.ThrowOnExternalCallFailed (int hr, System.RuntimeTypeHandle typeHnd) Строка 1189 в f: \ dd \ ndp \ fxcore \ CoreRT \ src \ System.Private.Interop \ src \ Shared \ McgMarshal.cs (1189)
System.ArgumentException HResult = 0x80070057 Сообщение = Значение не попадает в ожидаемый диапазон. Source = StackTrace: StackTrace "в System.Runtime.InteropServices.McgMarshal.ThrowOnExternalCallFailed (Int32 ч, RuntimeTypeHandle typeHnd) в f: \ dd \ ndp \ fxcore \ CoreRT \ src \ Mc.Private.Mars.Mars.Mars : строка 1189 \ r \ n в __Interop.ComCallHelpers.Call (__ ComObject __this, RuntimeTypeHandle __typeHnd, Int32 __targetIndex, двойной аргумент arg0) \ r \ n
в __Interop.ForwardComStubs.Stub_22 _____ ___ Com, is th [[ __targetIndex) \ r \ n в Windows .UI.Xaml.IUIElement__Impl.Stubs.put_Opacity (__ ComObject __this, двойное значение) \ r \ n в Windows .UI.Xaml.UIElement.put_Opacity (двойное значение) \ r \ n в Xamarin.Forms.Platform.UWP.VisualElementTracker 2.UpdateOpacity(VisualElement
view, FrameworkElement frameworkElement) in
D:\\a\\1\\s\\Xamarin.Forms.Platform.UAP\\VisualElementTracker.cs:line
518\r\n at
Xamarin.Forms.Platform.UWP.VisualElementTracker
2.UpdateNativeControl () в D: \ a \ 1 \ s \ Xamarin.Forms.Platform.UAP \ VisualElementTracker.cs: строка 236 \ r \ n в Xamarin. Forms.Platform.UWP.VisualElementTracker 2.OnRedrawNeeded(Object
sender, EventArgs e) in
D:\\a\\1\\s\\Xamarin.Forms.Platform.UAP\\VisualElementTracker.cs:line
409\r\n at System.EventHandler
1.Invoke (Отправитель объекта, TEventArgs e) \ r \ n в Xamarin.Forms.VisualElement.BatchCommit () в D: \ a \ 1 \ s \ Xamarin.Forms.Core \ VisualElement.cs: строка 572 \ r \ n в Xamarin.Forms.AnimationEx tensions.HandleTweenerUpdated (Object o, EventArgs args) в D: \ a \ 1 \ s \ Xamarin.Forms.Core \ AnimationExtensions.cs: строка 274 \ r \ n
в System.EventHandler.InvokeOpenStaticThunk (Отправитель объекта, EventArgs e) \ r \ n в System.EventHandler.Invoke (Отправитель объекта, EventArgs e) \ r \ n в Xamarin.Forms.Tweener.b__22_0 (шаг Int64) в D: \ a \ 1 \ s \ Xamarin.Forms.Core \ Tweener.cs: строка 92 \ r \ n в System.Fun c2.Invoke(T arg)\r\n at
Xamarin.Forms.Internals.Ticker.SendSignals(Int64 step) in
D:\\a\\1\\s\\Xamarin.Forms.Core\\Internals\\Ticker.cs:line 136\r\n<br>
at Xamarin.Forms.Internals.Ticker.SendSignals(Int32 timestep) in
D:\\a\\1\\s\\Xamarin.Forms.Core\\Internals\\Ticker.cs:line 125\r\n<br>
at
Xamarin.Forms.Platform.UWP.WindowsTicker.RenderingFrameEventHandler(Object
sender, Object args) in
D:\\a\\1\\s\\Xamarin.Forms.Platform.UAP\\WindowsTicker.cs:line 25\r\n
at System.EventHandler
1.Invoke (отправитель объекта, TEventArgs e) \ r \ n в __Interop.Intrinsics.HasThisCall__51 (объект __this, IntPtr pfn, объект arg0 , Объект arg1) \ r \ n в __Interop.ReverseComStubs.Stub_41 (Объект __this, Void * unsafe_sender, Void * unsafe_args, IntPtr __methodPtr) "string
<Style x:Key="FormTextBoxStyle" TargetType="uwp:FormsTextBox">
<Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}" />
<Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}" />
<Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" />
<Setter Property="ForegroundFocusBrush" Value="{ThemeResource SystemControlForegroundChromeBlackHighBrush}" />
<Setter Property="PlaceholderForegroundBrush" Value="{ThemeResource SystemControlPageTextBaseMediumBrush}" />
<Setter Property="PlaceholderForegroundFocusBrush" Value="{ThemeResource SystemControlPageTextChromeBlackMediumLowBrush}" />
<Setter Property="Background" Value="{ThemeResource SystemControlBackgroundAltHighBrush}" />
<Setter Property="BackgroundFocusBrush" Value="{ThemeResource SystemControlBackgroundChromeWhiteBrush}" />
<Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundChromeDisabledLowBrush}" />
<Setter Property="SelectionHighlightColor" Value="{ThemeResource SystemControlHighlightAccentBrush}" />
<Setter Property="BorderThickness" Value="0,0,0,2" />
<Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" />
<Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Hidden" />
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden" />
<Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False" />
<Setter Property="Padding" Value="0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="uwp:FormsTextBox">
<Grid>
<Grid.Resources>
<Style x:Name="DeleteButtonStyle" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid
x:Name="ButtonLayoutGrid"
Background="{ThemeResource TextBoxButtonBackgroundThemeBrush}"
BorderBrush="{ThemeResource TextBoxButtonBorderThemeBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<TextBlock
x:Name="GlyphElement"
HorizontalAlignment="Center"
VerticalAlignment="Center"
AutomationProperties.AccessibilityView="Raw"
FontFamily="{ThemeResource SymbolThemeFontFamily}"
FontSize="12"
FontStyle="Normal"
Foreground="{TemplateBinding Foreground}"
Text="" />
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="PointerOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="GlyphElement" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ButtonLayoutGrid" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="GlyphElement" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltChromeWhiteBrush}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="ButtonLayoutGrid"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border
x:Name="BackgroundElement"
Grid.Row="1"
Grid.RowSpan="1"
Grid.ColumnSpan="2"
Margin="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}" />
<Border
x:Name="BorderElement"
Grid.Row="1"
Grid.RowSpan="1"
Grid.Column="0"
Grid.ColumnSpan="2"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" />
<ContentPresenter
x:Name="HeaderContentPresenter"
Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="2"
VerticalAlignment="Bottom"
VerticalContentAlignment="Bottom"
x:DeferLoadStrategy="Lazy"
Content="{TemplateBinding Header}"
ContentTemplate="{TemplateBinding HeaderTemplate}"
FontWeight="Normal"
Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}"
Visibility="Collapsed" />
<ScrollViewer
x:Name="ContentElement"
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="0"
Margin="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
VerticalAlignment="Center"
AutomationProperties.AccessibilityView="Raw"
Foreground="{TemplateBinding ForegroundFocusBrush}"
HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}"
IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}"
IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}"
IsTabStop="False"
IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}"
VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"
VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}"
ZoomMode="Disabled" />
<ContentControl
x:Name="PlaceholderTextContentPresenter"
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="0"
Grid.ColumnSpan="2"
Margin="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{TemplateBinding PlaceholderText}"
Foreground="{TemplateBinding PlaceholderForegroundBrush}"
IsHitTestVisible="False"
IsTabStop="False" />
<Button
x:Name="DeleteButton"
Grid.Row="1"
Grid.Column="1"
MinWidth="34"
Margin="{ThemeResource HelperButtonThemePadding}"
VerticalAlignment="Stretch"
BorderThickness="{TemplateBinding BorderThickness}"
FontSize="{TemplateBinding FontSize}"
Foreground="{TemplateBinding ForegroundFocusBrush}"
IsTabStop="False"
Style="{StaticResource DeleteButtonStyle}"
Visibility="Collapsed" />
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Disabled">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HeaderContentPresenter" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseLowBrush}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledTransparentBrush}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseLowBrush}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" Storyboard.TargetProperty="BorderBrush">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseLowBrush}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentElement" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledChromeDisabledLowBrush}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PlaceholderTextContentPresenter" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledChromeDisabledLowBrush}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Normal" />
<VisualState x:Name="PointerOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" Storyboard.TargetProperty="Opacity">
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextControlBackgroundHoverOpacity}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Focused">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PlaceholderTextContentPresenter" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding PlaceholderForegroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding BackgroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentElement" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding ForegroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentElement" Storyboard.TargetProperty="RequestedTheme">
<DiscreteObjectKeyFrame KeyTime="0" Value="Light" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="ButtonStates">
<VisualState x:Name="ButtonVisible">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="DeleteButton" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="ButtonCollapsed" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>