MSBuild:UpdateDesignTimeXaml 是做什么的?

What does MSBuild:UpdateDesignTimeXaml do?

我开始了一个新的 Xamarin.forms 项目并添加了一些 xaml 文件。我注意到在 .csproj 文件中添加了:

  <ItemGroup>
    <EmbeddedResource Update="View.xaml">
      <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
    </EmbeddedResource>
  </ItemGroup>

这实际上是做什么的?

我应该删除它吗?

应该是<Generator>MSBuild:Compile</Generator>吗?

MSBuild:Compile 的任务是 Forms 为 IDE 更新 XAML/.cs 文件的真正老方法。

即此设计时后台进程生成 *.g.cs 文件,其中包含您的项目生成的部分 classes,这些文件用于为您的 XAML 提供具有 IDE 的 IntelliSense代码隐藏。

Xamarin.Forms 版本 1.3?/1.4? (不确定确切的版本,因为它是很久以前的),Xamarin 添加了 UpdateDesignTimeXaml 的 MSbuild 任务,因此不必在后台构建整个项目来更新 XXXX.g.cs 文件部分 class 生成,因此更新发生得非常快,因为只有那些更改的生成文件被馈送到 Roslyn 以实现 IntelliSense 功能。