Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为x86构建WPF应用程序时,InitializeComponent在当前上下文中不存在_C#_Wpf_Msbuild_X86 - Fatal编程技术网

C# 为x86构建WPF应用程序时,InitializeComponent在当前上下文中不存在

C# 为x86构建WPF应用程序时,InitializeComponent在当前上下文中不存在,c#,wpf,msbuild,x86,C#,Wpf,Msbuild,X86,在(TFS)生成服务器上生成WPF应用程序时,我遇到以下错误: The name 'InitializeComponent' does not exist the current context. 在Visual Studio 2013中,一切都很好。如果在命令行中使用msbuild生成错误,则可以重现该错误 问题在于我的构建配置。我在为任何CPU构建时都没有遇到错误,但我需要x86,因为这是让ActiveX控件工作的唯一方法(相信我,我已经为此尝试了大量解决方案) 当我创建一个新的WPF项目

在(TFS)生成服务器上生成WPF应用程序时,我遇到以下错误:

The name 'InitializeComponent' does not exist the current context.
在Visual Studio 2013中,一切都很好。如果在命令行中使用msbuild生成错误,则可以重现该错误

问题在于我的构建配置。我在为任何CPU构建时都没有遇到错误,但我需要x86,因为这是让ActiveX控件工作的唯一方法(相信我,我已经为此尝试了大量解决方案)

当我创建一个新的WPF项目时,我可以很好地基于x86进行构建,所以它一定是这个解决方案的特定内容,但我不知道是什么

有没有人有过类似的经历

更新


当我从解决方案中删除我的WiX安装程序项目时,x86上的一切都很好。所以WiX肯定与此有关…

我认为,您必须更新解决方案构建配置并将构建配置添加到TFSBuild.proj很难想象WiX项目与InitializeComponent()方法有什么关系。我想,如果不干扰解决方案平台,而是使用正确的设置来强制项目以32位模式运行,您可能会有所收获。右键单击EXE项目>属性>编译选项卡>平台目标=x86。对发布配置重复上述步骤。@HansPassant确实做到了这一点。我一直认为您在项目属性中选择的平台与您在解决方案的Configuration Manager中选择的平台(每个项目)相同。显然不是。我得仔细阅读一下。如果您将您的评论作为答案发布,我很乐意将其标记为正确答案。我也遇到了此问题,并通过从WixToolset SDK添加对BootstrapperCore.dll的引用来解决此问题。不知道为什么,但我可以通过在项目中添加和删除Wix\WixSharp引用或nuget包,一次又一次地重现和纠正错误。