我将xamarin.forms nuget软件包从3.0.53更新到了3.5.0(是的,我跳过了很多版本)。但是现在我的某些xaml.g.cs文件中出现以下错误
public DbSet<ApplicationUser> ApplicationUser { get; set; }
public DbSet<ApplicationRole> ApplicationRole { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<ApplicationUser>()
.HasMany(u => u.ApplicationRoles)
.WithOne(r => r.ApplicationUser);
}
我知道您可以通过更改生成xaml.g.cs的xaml文件中的x:Name字段来更改变量的名称,如以下链接所示。 https://forums.xamarin.com/discussion/129503/after-upgrading-xamarin-forms-from-version-3-0-0-561731-to-3-1-0-583944-i-get-a-compile-error
这对我来说不起作用,因为xaml.g.cs中的FindByName方法将不起作用,因为该名称与它试图查找的类的名称不匹配。这真的很烂,因为它不能同时使用两种方式。
我的xaml.g.cs文件的一部分:
CS0542: 'LocationsView': member names cannot be the sam as their enclosing type
我的xaml文件的一部分:
[global::Xamarin.Forms.Xaml.XamlFilePathAttribute("Views\\Location\\LocationsView.xaml")]
public partial class LocationsView : global::Views.UserControls.RootPage {
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Forms.Build.Tasks.XamlG", "0.0.0.0")]
private global::Views.UserControls.RootPage LocationsView;
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Forms.Build.Tasks.XamlG", "0.0.0.0")]
private void InitializeComponent() {
global::Xamarin.Forms.Xaml.Extensions.LoadFromXaml(this, typeof(LocationsView));
LocationsView = global::Xamarin.Forms.NameScopeExtensions.FindByName<global::Views.UserControls.RootPage>(this, "LocationsView");
}
}
有没有一种方法可以解决CS50542错误,以便FindByName方法仍然可以为我提供有效的输出?