我已经导入了我曾经在另一台电脑上使用过的解决方案。但是,在新电脑上我不断收到错误 “位置 12:18。缺少默认构造函数 'App1.Pages.SetPageDetail'。”
我不确定为什么现在会出现此错误,并且找不到任何令人满意的解决方案。我尝试清空/bin 和/obj 文件夹,并尝试将 Xamarin.Forms 降级到 2.5。两者都不起作用。清理解决方案并重新启动 VS2017 也没有解决问题。
该项目是跨平台的,支持Android和IOS。使用的包是 Xamarin.Forms、SQLite-net-pcl、Cam.Plugin.Connectivity。
<?xml version="1.0" encoding="utf-8" ?>
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="App1.Pages.SetPage"
xmlns:pages="clr-namespace:App1.Pages">
<MasterDetailPage.Master>
<pages:SetPageMaster x:Name="MasterPage" />
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage>
<x:Arguments>
<pages:SetPageDetail /> <!--Goes wrong here-->
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
</MasterDetailPage>
构造函数:
public SetPageDetail(MasterDetailPage master)
{
Master = master;
InitializeComponent();
SetViewModel viewModel = new SetViewModel();
BindingContext = viewModel;
MyListView.RowHeight = 60;
MyListView.ItemTemplate = new DataTemplate(typeof(SetViewCell));
MyListView.ItemSelected += ListView_ItemSelected;
}
我还有一些关于 .dll 的其他错误(ResolveLibraryProjectImports 任务失败),但我希望在修复此错误后它们会消失。如果没有,我会为他们创建一个单独的问题。
最佳答案
感谢@Jason 找到了答案。我认为任何公共(public)构造函数都是默认构造函数,这是错误的。
默认构造函数不接受任何参数,因为我的函数没有任何参数,所以我得到了上述错误。
关于c# - 缺少 App1.Pages.SetPageDetail 的默认构造函数(位置 12 :18),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55418650/