正如我所说的,我有一个应用程序,我将其称为“AppName”(注意大写的“A”和“N”),例如,它试图引用“My.Application.Info” .ProductName”。
添加断点并在该调用上放置QuickWatch会显示错误:
My.Application.Info.ProductName 'Application' is ambiguous between declarations in Modules 'appname.My.MyProject' and 'AppName.My.MyProject'.
该程序显然正在使用我的应用程序并完全发明其命名空间的小写版本。我已经使用匹配案例搜索了代码,并且没有项目,模块,类,字符串甚至是带有小写“appname”的变量名称。
我已经尝试显式引用“AppName.My.Application.Info.ProductName”,但它仍然显示为不明确。我尝试使用相同的结果引用“[AppName] .My.Application.Info.ProductName”。
令人讨厌的是,即使这个引用无法解析,代码也会愉快地进行,并解析为“appname.My.Application.Info.ProductName”,“appname”不存在,返回空字符串而不是存储在AppName的My.Application.Info部分中的信息。
有没有人知道这个幻像小写命名空间的来源以及我如何摆脱它以便我的代码可以实际执行它应该做的事情?
答案 0 :(得分:2)
如果AppName是某些框架组件可能使用的公用名,您可能希望将名称更改为其他名称,并查看错误是否消失。
E.g。将AppName重命名为AppName_XyZ22_13。