InitializeComponent() - 不明确的调用警告?

问题描述 投票:2回答:1

我承认我是xaml世界的新手但是看到使用内置Visual Studio模板的警告表明除了我的大脑之外可能还有另一个问题。

如果我使用VSIX Project在Visual Studio中创建一个空的Add -> New Project(它必须是一个VSIX项目),然后继续使用Add -> New Item -> User Control (WPF)创建一个新的用户控件,在我编译代码后,编辑器向我显示警告Ambiguous invocation就行了InitializeComponent(),如下图所示:

ambiguous invocation


EDIT

Designer视图中也有警告,如下所示:

designer view


警告仅出现在编辑器中。构建项目没问题,如下所示:

enter image description here


请注意,如果您将User Control (WPF)添加到Class Library (.NET Framework)项目,则没有警告,如下所示:

enter image description here


如果我查看obj/Debug/SomeProject文件夹,我会看到SomeControl的两个文件。第一个是SomeControl.g.cs,第二个是SomeControl.g.i.cs。文件是相同的。

同样适用于obj/Debug/SomeOtherProject文件夹,没有警告。

我已经克隆了各种官方微软回购(例如UnitTestBoilerplateGenerator),并且此处也出现了警告,例如:src/View/CreateUnitTestBoilerplateDialog.xaml.csInitializeComponent(),如下所示:

microsoft project


这是怎么回事?? =(

EDIT

这是使用Visual Studio 15.4和ReSharper 2017.2.2;我似乎没有使用旧版本的Visual Studio / ReSharper获得此警告。

EDIT

这似乎是ReSharper特定的问题,因为在暂停ReSharper之后警告不再存在。我通过ReSharper -> Help -> Report a Bug or Submit Feedback...提交了一个错误。

c# wpf xaml resharper mef
1个回答
2
投票

这是ReSharper 2017.2.x的a known issue

更新:它已在ReSharper 2017.3版本中修复。

© www.soinside.com 2019 - 2024. All rights reserved.