在发布属性中找不到Xamarin.Forms绑定

在发布属性中找不到Xamarin.Forms绑定,xamarin.forms,Xamarin.forms,让我发疯的问题)人们的帮助( 有一个简单的Xaml: <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:Kitchen

让我发疯的问题)人们的帮助(

有一个简单的Xaml:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:Kitchener"
             x:Class="Kitchener.MainPage"
             xmlns:al="clr-namespace:AiForms.Layouts;assembly=AiForms.Layouts"
             xmlns:viewModel="clr-namespace:Kitchener.ViewModels;assembly=Kitchener"
             x:Name="_this">

    <ContentPage.BindingContext>
        <viewModel:KitchenerMainPageVm />
    </ContentPage.BindingContext>

    <Grid Margin="10">
        <Grid.RowDefinitions>
            <RowDefinition Height="10" />
            <RowDefinition Height="2*" />
            <RowDefinition Height="40" />
        </Grid.RowDefinitions>

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>

        <Label Text="{Binding MessageText}"  
               TextColor="{Binding MessageTextColor}"
               IsVisible="{Binding MessageTextVisible}"
               HorizontalOptions="Center"
               VerticalOptions="Center"  Grid.Row="1" FontSize="30" Margin="0,20,0,20" />

        <StackLayout Grid.Row="2" Orientation="Horizontal">

            <Button Text="#" Command="{Binding ShowHideSettings}" WidthRequest="40"/>

            <StackLayout IsVisible="{Binding SettingIsVisible}" Orientation="Horizontal" HorizontalOptions="FillAndExpand">

                <Entry Placeholder="Url Bullet Server"
                       FontSize="15"
                       Text="{Binding BaseUrl, Mode=TwoWay}" 
                       Completed="BaseUrl_OnCompleted"
                       HorizontalOptions="FillAndExpand"/>

            </StackLayout>
        </StackLayout>
    </Grid>

</ContentPage>
在调试程序集模式下,一切正常,但一旦我在发布程序集模式下收集了所有这些工作,我的一些绑定和团队就会崩溃

部署时看到的内容:

[0:]在上找不到绑定:“MessageTextVisible”属性 “Kitchener.ViewModels.KitchenerMainPageVm”,目标属性: 'Xamarin.Forms.Label.IsVisible'[0:]绑定:'MessageTextColor' 在“Kitchener.ViewModels.KitchenerMainPageVm”上找不到属性, 目标属性:“Xamarin.Forms.Label.TextColor”[0:]绑定:' MessageText“在上找不到属性” Kitchener.ViewModels.KitchenerMainPageVm',目标属性:' Xamarin.Forms.Label.Text'

有绑定
SettingIsVisible
BaseUrl
ButtonStackVisible
其余的都不起作用,不管我做什么…,同样的命令也不起作用

我已经将它重新组装了一百次,尝试在真实的设备(Android 7.1)上运行,在模拟器上运行,但没有任何帮助


我使用库程序集Android项目的VisualStudio 2017参数:编译器8.1的SDK版本。我解决了链接器中的问题。有两种解决方案:要么在此完全禁用joxi.ru/vAW339ei1vX6bA
或者使用属性[Android.Runtime.Preserve(AllMembers=true)]

检查您的链接器设置-比较Release和DebugDebug:,Release:我在这里看不到任何显著差异…确保您查看的是平台项目上的链接器设置,而不是库
public class KitchenerMainPageVm : INotifyPropertyChanged
        {
            public event PropertyChangedEventHandler PropertyChanged;

            private string _baseUrl;

            public string BaseUrl
            {
                set
                {
                    _baseUrl = value;

                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("BaseUrl"));

                    Settings.BaseUrlBulletHttpServer = _baseUrl;
                }
                get => _baseUrl;
            }

            private string _messageText = "Соединение...";

            public string MessageText
            {
                set
                {
                    _messageText = value;

                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(MessageText)));
                }
                get
                {
                    return _messageText;
                }
            }

            private bool _messageTextVisible = false;

            public bool MessageTextVisible
            {
                set
                {
                    _messageTextVisible = value;

                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("MessageTextVisible"));
                }
                get
                {
                    return _messageTextVisible;
                }
            }

            private Color _messageTextColor = Color.AliceBlue;

            public Color MessageTextColor
            {
                set
                {
                    _messageTextColor = value;

                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("MessageTextColor"));
                }
                get
                {
                    return _messageTextColor;
                }

            }

            private bool _buttonStackVisible = true;

            public bool ButtonStackVisible
            {
                set
                {
                    _buttonStackVisible = value;

                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("ButtonStackVisible"));
                }
                get
                {
                    return _buttonStackVisible;
                }
            }

            private bool _settingIsVisible;

            public bool SettingIsVisible
            {
                set
                {
                    _settingIsVisible = value;

                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("SettingIsVisible"));
                }
                get
                {
                    return _settingIsVisible;
                }
            }


            public ICommand ShowHideSettings { protected set; get; }

            private void _showHideSettings()
            {
                SettingIsVisible = !SettingIsVisible;
            }


            public KitchenerMainPageVm()
            {
                BaseUrl = Settings.BaseUrlBulletHttpServer;

                ShowHideSettings = new Command(_showHideSettings);
            }
    }