XAML .NET Maui当前上下文中不存在名称“InitializeComponent”

zqdjd7g9  于 2022-12-16  发布在  .NET
关注(0)|答案(2)|浏览(171)

我创建了一个.cs文件附带的ResourceDictionary文件。因此,在创建ResourceDictionary文件后,我收到一个错误。名称“InitializeComponent”在当前上下文中不存在。

下面是与上述文件关联的XAML文件。

我使用的是VS2022 17.5.0预览版1.0
1.我已将c#文件的生成操作设置为C#编译器
1.我已经清理和重建我的项目几次,并试图删除bin和obj文件夹似乎没有任何工作

aamkag61

aamkag611#

当我执行Project / rt-click / Add / NewItem / .Net Maui ResourceDictionary (XAML)时,下面是添加到.csproj中的内容:

<MauiXaml Update="Dictionary1.xaml">
        <Generator>MSBuild:Compile</Generator>
      </MauiXaml>

注意,Compile嵌套在MauiXaml元素中;它不是一个单独的项目。
查看您的.csproj是否有两个单独的项,一个用于Dictionary1.xaml,另一个用于Dictionary1.xaml.cs
如果是这样,请将这两个项目替换为如上所示的组合项目。
(For我,这个构建没有问题。)
在您的示例中,.csproj不显示MauiXaml BuildAction?
替换:

<ItemGroup>
  <None Include="Themes\Light.xaml" />
</ItemGroup>

与:

<ItemGroup>
    <MauiXaml Update="Themes\Light.xaml">
        <Generator>MSBuild:Compile</Generator>
    </MauiXaml>
</ItemGroup>

我不知道这是应该保留还是删除:

<ItemGroup>
  <Folder Include="Themes\" />
</ItemGroup>

先放着吧。

iq0todco

iq0todco2#

这听起来像是一个经常困扰Xamarin解决方案的类似问题。我认为这是一个潜在的bug,或者说是在Visual Studio中显示文件时解释文件的延迟。
几个选项:

  • 对有问题的文件做一个小的更改-甚至添加或删除一个空间也可以,保存它并重建解决方案。
  • 清理解决方案并重新生成。
  • 卸载并重新加载文件所属的项目。(在解决方案资源管理器窗口中右键单击项目,选择卸载,然后选择加载。
  • Xaml文件可能需要设置为嵌入资源,作为其属性下的生成操作(再次在解决方案资源管理器中)。

相关问题