使用7.3.3 (build 7),我将创建一个iOS项目。然后创建一个新的.NET标准2.0库。
使用内置的NuGet支持,我将Xamarin.Forms添加到每个项目中。
在NetStandard2.0LIB I Add -> New File中选择Forms ContentPage Xaml
这将创建一个空类和相应的XAML文件。在类构造函数中,它包含一行:
InitializeComponent();
当我试图编译NetStandard2.0lib或iOS项目时,编译失败,出现以下错误:
错误CS0103:当前上下文中不存在名称“InitializeComponent”(CS0103)
我没有向任何一个项目添加其他代码或依赖项。显然,我错过了一些对我来说不太明显的事情。
发布于 2018-01-27 18:47:21
正如DeveloperX在注释中所说的,打开XAML文件上的属性窗口,确保Build Action = Embedded Resource和自定义工具= MSBuild:UpdateDesignTimeXaml。
最后,要修复VS中的.NET标准错误,请将以下内容添加到.NET标准.csproj文件中
<ItemGroup>
<!-- https://bugzilla.xamarin.com/show_bug.cgi?id=55591 -->
<None Remove="**\*.xaml" />
<Compile Update="**\*.xaml.cs" DependentUpon="%(Filename)" />
</ItemGroup>如果您仍然有问题,那么.NET标准项目的设置可能是一个问题。查看下面的文章,其中讨论如何将PCL转换为.NET标准,这就是我们所做的。
发布于 2018-01-27 01:55:42
关闭后面打开的任何代码或打开xaml文件。
发布于 2020-03-04 07:31:20
我认为您已将代码移动到不同的文件夹。您可以删除项目中的文件夹.vs (此文件夹隐藏)并重新打开项目。
https://stackoverflow.com/questions/48471050
复制相似问题