使用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)
我没有为这两个项目添加其他代码或依赖项。很明显,我错过了一些对我来说不明显的事情。
答案 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,这就是我们所做的。
答案 1 :(得分:0)
关闭所有打开的代码或打开xaml文件。
答案 2 :(得分:0)
我认为您已将代码移至其他文件夹。 您可以删除项目中的.vs文件夹(此文件夹为hide),然后重新打开项目。