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

时间:2017-10-24 05:52:16

标签: c# wpf xaml resharper mef

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

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

ambiguous invocation

修改

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

designer view

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

enter image description here

请注意如果您向InitializeComponent()项目添加User Control (WPF),则会出现 NO 警告,如下所示:

enter image description here

如果我查看Class Library (.NET Framework)的{​​{1}}文件夹,我会看到obj/Debug/的两个文件。第一个是SomeProject,第二个是SomeControl。文件完全相同。

同样适用于SomeControl.g.cs的{​​{1}}文件夹,没有警告。

我已经克隆了各种官方微软回购(例如UnitTestBoilerplateGenerator),此处也出现了警告,例如:SomeControl.g.i.cs obj/Debug/,如下所示:

src/View/CreateUnitTestBoilerplateDialog.xaml.cs

发生什么事了? =(

修改

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

修改

这似乎是ReSharper特有的问题,因为在暂停ReSharper之后警告不再存在。我通过SomeOtherProject提交了一个错误。

1 个答案:

答案 0 :(得分:2)

ReSharper 2017.2.x是a known issue

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