2015-02-05 73 views
3

在.NET 4.5中的PresentationFramework中有一個名爲Standard的名稱空間。在這裏尋找更多信息:What is the namespace 'Standard'?.NET 4.5命名空間'標準'

問題是,在我的C++/CLI項目中,我使用了一個非託管庫,它也定義了一個名爲Standard的類。所以,我得到以下編譯器錯誤:

error C2869: 'Standard' : has already been defined to be a namespace 

我不能刪除提及PresentationFramework,我不能停止使用該庫。有什麼我可以做的嗎?像取消導入命名空間一樣?

P.S.我正在使用VisualStudio 2012.我認爲升級到2013年可能會有所幫助,但這需要整個團隊轉向它。

+0

您是否正在使用OCCT?你是如何解決這個問題的? – 2018-03-02 10:40:42

+0

我們最終確定不要在同一個項目 – 2018-03-03 14:06:08

+0

ah,ic中同時使用PresentationFramework和OCCT。我也成功地做了很長一段時間,但現在已經達到了只是太多開銷的地步。因此,對於任何有相同問題的人來說,將這個Standard類包裝在命名空間中並不需要太長時間,並且不需要太多的維護開銷 - 請參閱https://dev.opencascade.org/index.php?q=node/1210 – 2018-03-06 13:26:29

回答

1

該名稱空間已被.NET 4.5添加到PresentationFramework中,我相信,並且我不認爲更改爲Visual Studio 2013會對您有所幫助。該名稱空間中的所有內容均定義爲內部函數,並且主要由用於由PresentationFramework調用的Windows SDK函數的Enums和Structs組成。

不幸的是,我不知道如何解決您的問題。也許你可以說服誰提供第三方庫來更改命名空間。微軟現在正在使用它的事實將是他們這樣做的一個很好的理由。無論這些人在創建帶有諸如「標準」之類的簡單通用名稱的命名空間,都需要對其頭部進行檢查。