错误CS0103:当前上下文中不存在名称“InitializeComponent”

时间:2018-01-26 23:34:28

标签: xamarin xamarin.forms

使用Mac版Visual Studio社区7.3.3 (build 7)我制作了一个iOS项目。然后创建一个新的.NET Standard 2.0库。

使用内置的NuGet支持,我将Xamarin.Forms添加到每个项目中。

在Net Standard 2.0 Lib中Add -> New File并选择Forms ContentPage Xaml

这将创建一个空类和相应的XAML文件。在类构造函数中,它包含1行:

InitializeComponent();

当我尝试编译NET Standard 2.0 lib或iOS项目时,编译失败并出现以下错误:

  

错误CS0103:当前上下文中不存在名称“InitializeComponent”(CS0103)

我没有为这两个项目添加其他代码或依赖项。很明显,我错过了一些对我来说不明显的事情。

3 个答案:

答案 0 :(得分:3)

正如DeveloperX在评论中所说,打开XAML文件的属性窗口并确保构建操作 = Embedded Resource并确保自定义工具 = MSBuild:UpdateDesignTimeXaml

最后,要在VS中修复.NET标准错误,请将以下内容添加到.NET Standard .csproj文件中

<ItemGroup>
  <!-- https://bugzilla.xamarin.com/show_bug.cgi?id=55591 -->
  <None Remove="**\*.xaml" />

  <Compile Update="**\*.xaml.cs" DependentUpon="%(Filename)" />
</ItemGroup>

如果您仍然遇到问题,那么可能是.NET Standard项目的设置问题。查看以下文章,其中讨论了如何将PCL转换为.NET Standard,这就是我们所做的。

Link

答案 1 :(得分:0)

关闭所有打开的代码或打开xaml文件。

答案 2 :(得分:0)

我认为您已将代码移至其他文件夹。 您可以删除项目中的.vs文件夹(此文件夹为hide),然后重新打开项目。