Xamarin.forms: XF3.1でのXamlの変更の中断

作成日 2018年06月24日  ·  3コメント  ·  ソース: xamarin/Xamarin.Forms

XF 3.1バージョンにアップグレードすると、「メンバー名を囲んでいるタイプと同じにすることはできません」というxamlエラーが発生する可能性があることをお知らせします。 親と子のタイプが同じ名前の場合、これはよく知られているC#エラーです

その理由は、以下のコードはXF 3.1より前のバージョンでは機能しますが、XF 3.1ではエラーを返します...それが常にバグなのかバグの修正なのかわかりませんか?

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

             x:Class="myApp.TestPage"  x:Name="TestPage" > 

  <ContentPage.Content>

            <c:cwTest x:Name="cwTest"  VerticalOptions="FillAndExpand"  HorizontalOptions="FillAndExpand"/>

  </ContentPage.Content>
</ContentPage>
Xaml </> invalid bug

最も参考になるコメント

@EmilAlipiev @StephaneDelcroixはい、事前に警告しておくと役に立ちました。 これは重大な変更であり、あなたのような謝罪/言い訳は役に立ちません。

全てのコメント3件

唯一変更されたのは、最上位のXAML要素で定義されたx:Nameフィールドを作成することです。これにより、最終的にはコードビハインドからアクセスできるようになりますが、以前はそうではありませんでした。

Labelまたは `x:Name =" TestPage "'属性を持つxaml内の任意の要素を使用することにより、以前のバージョンのXFでその動作を再現できます。

コードの一部が破損した場合は申し訳ありません。 慎重に検討した結果、これはバグまたはリグレッションとは見なされません。 以前はコードが欠落している検証に依存していましたが、この失敗を悪用することはできなくなりました。

この回避策は簡単で、簡単で、配置するのが非常に簡単です。

@StephaneDelcroix私はそれに同意します。 あなたがそれを強調するべきだったので、私はあなたの注意を引いただけです。 VS2017は十分な情報を提供しませんが、1つのファイルに対して数百のエラーをスローします。 3.0に戻すと、すべて正常に動作します。 この問題を参照するために、このエラーが発生している他の人のためだけに。

@EmilAlipiev @StephaneDelcroixはい、事前に警告しておくと役に立ちました。 これは重大な変更であり、あなたのような謝罪/言い訳は役に立ちません。

このページは役に立ちましたか?
0 / 5 - 0 評価