我最近将我的.NET Framework 4.8 WPF应用程序转换为.NET5。当我编译应用程序时,出现以下错误
目前内容中不存在名称'InitializeComponent'
我关注了this link,但帮不了我太多。
我检查了*.xaml
和*.cs
文件名称空间。
<Window x:Class="Cl.Wpf.MessageWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
SizeToContent = "WidthAndHeight"
Title="MessageWindow" >
还检查了.cs
文件
namespace Cl.Wpf
{
public partial class MessageWindow : Window
{
public MessageWindow()
{
InitializeComponent();
.....
}
我的*.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0-windows</TargetFramework>
<OutputType>Library</OutputType>
<RootNamespace>Cl.Wpf</RootNamespace>
<Deterministic>false</Deterministic>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<UseWPF>true</UseWPF>
<ImportWindowsDesktopTargets>true</ImportWindowsDesktopTargets>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers" Version="0.2.241603">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Settings.Designer.cs">
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Update="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
</Project>
我还尝试删除obj
文件夹并重新启动visual studio 2019,但也没有帮助我。
此外,尝试在XAML
文件中添加一些空间,但也没有帮助。
构建操作MessageWindow.xml
2条答案
按热度按时间rqmkfv5c1#
问题似乎与
Microsoft Visual Studio Community 2019 Version 16.11.2
有关。我重新安装了社区版本,但没有再次工作。
所以最后,我卸载了社区版本,重新安装了
Microsoft Visual Studio Professional 2019 Version 16.11.2
,幸运的是它对我有效。我不知道这对其他用户有多有用,但对我来说很有效。
2ledvvac2#
我在这里发布这个解决方案是因为我在非常相似的情况下遇到了这个问题,我将我的WPF解决方案从.NET Framework移到了.NET 7。我也使用VS Community Edition。版本是2022 17.4.1
在我的例子中,我可以删除obj文件夹并清理我的项目,关闭并重新打开VS,这样就不会有任何错误。我可以编写代码,intellisense会很高兴地向我提供建议。然而,只要我运行我的项目,intellisense错误就会出现在与XAML视图关联的每个命名空间变量上。
我的XAML页面生成操作被设置为页面,而我的C#代码隐藏页面生成操作被设置为C#编译器。
我将构建操作背后的C#代码切换到“Page”,然后将它们切换回C#编译器,这个问题就神秘地消失了。
我希望这能帮助到一些人。