2011-02-03 19 views
1

正如我說的,我已經得到了我將稱之爲「APPNAME」的應用程序(注意大寫'A'和'N'),例如試圖引用「My.Application.Info.ProductName」。應用「APPNAME」被髮明瞭小寫命名空間「APPNAME」,導致「APPNAME」命名空間變得曖昧

添加一個斷點,把一個快速監視在該呼叫顯示錯誤:

 My.Application.Info.ProductName 'Application' is ambiguous between declarations in Modules 'appname.My.MyProject' and 'AppName.My.MyProject'. 

該方案顯然是考慮我的申請,並平了發明了其命名空間的小寫版本。我用Match Case搜索代碼,並且沒有Project,Module,Class,String甚至變量名,小寫的「appname」。

我試過明確引用「AppName.My.Application.Info.ProductName」,它仍然顯示爲曖昧。我試過用相同的結果引用「[AppName] .My.Application.Info.ProductName」。令人煩惱的是,即使這個引用無法解析,代碼仍然繼續進行,並解析爲「appname.My.Application.Info.ProductName」,其中「appname」不存在,返回一個空字符串,而不是存儲在AppName的My.Application.Info部分中的信息。

有誰知道這個幻影小寫字母命名空間是從哪裏來的,我怎麼能擺脫它使我的代碼實際上可以做它應該做的事情?

+1

是AppName的可能是由一些框架組件使用一個共同的名字?如果是這樣,如果您使用奇數後綴重命名(例如AppName_XyZ22_13),錯誤是否會繼續? – 2011-02-03 10:24:36

回答

2

如果AppName的是可能由一些框架組件使用一個共同的名字,你可能想將名稱更改爲別的,看看錯誤消失。

E.g.將AppName重命名爲AppName_XyZ22_13。