Visual Studio WPF生成相同的冲突部分类文件

时间:2017-01-26 15:17:29

标签: wpf vb.net visual-studio-2012 user-controls code-behind

我在WPF项目中有自定义用户控件。我的解决方案将不再编译。当我尝试在清理/重建之后构建/包含(甚至在删除bin和obj文件夹之后)VS生成两个代码文件:control.g.vb和control.g.i.vb

这些文件中的代码包含连接到代码隐藏类的部分类,并且两个生成的文件是相同的。 Visual Studio然后确定它们彼此冲突,导致编译错误,例如" Public Sub InitializeComponent()具有多个具有相同签名的定义"它的作用,一个在control.g.vb,一个在control.g.i.vb

发生了什么,它是如何发生的,我该如何解决?

我在Google,SO和MSDN上搜索了我能想到的所有相关关键字。我发现最相关的建议包括删除bin和obj文件并进行清理和重建,我已经尝试过了。

示例错误 错误' Public Sub System_Windows_Markup_IComponentConnector_Connect(connectionId As Integer,target As Object)'具有相同签名的多个定义。 {解决方案文件路径} \ obj \ x86 \ Debug \ Controls \ user controls {folder} {control} .g.i.vb {project}

1 个答案:

答案 0 :(得分:0)

简短回答:在Visual Studio中重命名文件时要非常小心。

我已经重命名了一些文件和类,但没有捕获所有对它们的引用。我有一些控件,它们指向的是除了自己的代码隐藏文件以外的其他类,以及与它们所在的文件命名不同的类。难怪Visual Studio感到困惑。