我承认我是xaml
世界的新手但是看到使用内置 Visual Studio 模板的警告表明可能还有另一个问题除了我的大脑。
如果我创建一个空的 VSIX Project
(必须是 VSIX 项目)在 Visual Studio 中使用 Add -> New Project
, 然后继续使用 Add -> New Item -> User Control (WPF)
创建一个新的用户控件,在我编译代码后,编辑器向我显示警告 Ambiguous invocation
在线InitializeComponent()
,如下图:
编辑
Designer View 中也有警告,如下所示:
警告仅出现在编辑器中。构建项目没有问题,如下图:
请注意如果您添加 User Control (WPF)
则不会出现NO 警告到 Class Library (.NET Framework)
项目,如下图:
如果我查看 obj/Debug/
SomeProject
的文件夹我看到 SomeControl
的两个文件.第一个是 SomeControl.g.cs
, 第二个是 SomeControl.g.i.cs
.这些文件是相同的。
obj/Debug/
也是如此SomeOtherProject
的文件夹, 没有警告。
我已经克隆了各种官方 Microsoft 存储库(例如 UnitTestBoilerplateGenerator ),这里也出现了警告,例如:src/View/CreateUnitTestBoilerplateDialog.xaml.cs在 InitializeComponent()
,如下图:
这是怎么回事?? =(
编辑
这是使用 Visual Studio 15.4 和 ReSharper 2017.2.2;我似乎没有收到旧版本的 Visual Studio/ReSharper 的警告。
编辑
这似乎是 ReSharper 特有的问题,因为在暂停 ReSharper 后警告不再存在。我已经通过 ReSharper -> Help -> Report a Bug or Submit Feedback...
提交了一个错误.
最佳答案
是a known issue适用于 ReSharper 2017.2.x
更新:已在 ReSharper 2017.3 版本中修复。
关于c# - InitializeComponent() - 不明确的调用警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46903074/