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要素で定義されたx:Name
フィールドを作成することです。これにより、最終的にはコードビハインドからアクセスできるようになりますが、以前はそうではありませんでした。
Label
または `x:Name =" TestPage "'属性を持つxaml内の任意の要素を使用することにより、以前のバージョンのXFでその動作を再現できます。
コードの一部が破損した場合は申し訳ありません。 慎重に検討した結果、これはバグまたはリグレッションとは見なされません。 以前はコードが欠落している検証に依存していましたが、この失敗を悪用することはできなくなりました。
この回避策は簡単で、簡単で、配置するのが非常に簡単です。
@StephaneDelcroix私はそれに同意します。 あなたがそれを強調するべきだったので、私はあなたの注意を引いただけです。 VS2017は十分な情報を提供しませんが、1つのファイルに対して数百のエラーをスローします。 3.0に戻すと、すべて正常に動作します。 この問題を参照するために、このエラーが発生している他の人のためだけに。
@EmilAlipiev @StephaneDelcroixはい、事前に警告しておくと役に立ちました。 これは重大な変更であり、あなたのような謝罪/言い訳は役に立ちません。
最も参考になるコメント
@EmilAlipiev @StephaneDelcroixはい、事前に警告しておくと役に立ちました。 これは重大な変更であり、あなたのような謝罪/言い訳は役に立ちません。