如果我在Visual Studio 2010 SP1中创建一个新项目,并选择“WPF应用程序”,并尝试构建生成的应用程序,我会得到错误
名称“InitializeComponent”在当前上下文中不存在。
今天早上,当我试图构建当前项目时,我遇到了类似的错误。昨天,我编译和运行它没有问题。
我创建了一个新项目,每当我编译项目时,都会得到错误。我刚刚把项目发给了同事,他刚刚编译完成,没有任何错误。
怎么了?
如果我在Visual Studio 2010 SP1中创建一个新项目,并选择“WPF应用程序”,并尝试构建生成的应用程序,我会得到错误
名称“InitializeComponent”在当前上下文中不存在。
今天早上,当我试图构建当前项目时,我遇到了类似的错误。昨天,我编译和运行它没有问题。
我创建了一个新项目,每当我编译项目时,都会得到错误。我刚刚把项目发给了同事,他刚刚编译完成,没有任何错误。
怎么了?
当前回答
在我的案例中(NET Core 3.1),我通过在项目文件的ProjectGroup部分中给它一个AssemblyName标记来修复它。如。
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<AssemblyName>ProjectNameUsually</AssemblyName>
</PropertyGroup>
...
</Project>
这也修复了编译器在代码背后看不到x:Name控件的问题。
其他回答
我也有同样的问题,我必须把我的共享项目转换成一个可移植的类库。
这发生在我身上,因为一个Nuget包卸载程序吹走了App.xaml中<Application>元素上的所有属性。这包括x:Class属性,它指定应用程序类名。因此从未生成包含InitializeComponent()方法的分部类。
我通过将App.xaml恢复到源控制副本来解决这个问题。
在一些操作之后,.cs文件的命名空间和。xaml文件中的命名空间可能是不同的(在xaml中查找x:Class="namespace. yourtype ")。
使它们相同。
在我的情况下,程序实例已经在后台运行。我只是停止运行实例和程序构建成功。
.xaml文件的构建动作也必须设置为“Page”,当在项目之间移动xaml文件时,这个设置会丢失(至少在VS 2010中是这样)。