我有一個來自供應商的32位和64位.NET程序集。他們有完全相同的接口(相同的類,相同的方法等)不同的.NET程序集引用取決於32-64位
由於某種原因,我永遠不能在另一個平臺上運行一種類型。到目前爲止我所做的只是刪除引用,然後根據需要重新編譯。
有沒有更簡單的方法來做到這一點?
編輯
我想SVN可共同選擇以某種方式解決這個問題?
編輯
該組件不在GAC中。此外,還需要這樣做,因爲我在兩個平臺上構建了相同的程序,而不是嘗試在另一個平臺上運行構建在一個平臺上的內容。
我有一個來自供應商的32位和64位.NET程序集。他們有完全相同的接口(相同的類,相同的方法等)不同的.NET程序集引用取決於32-64位
由於某種原因,我永遠不能在另一個平臺上運行一種類型。到目前爲止我所做的只是刪除引用,然後根據需要重新編譯。
有沒有更簡單的方法來做到這一點?
編輯
我想SVN可共同選擇以某種方式解決這個問題?
編輯
該組件不在GAC中。此外,還需要這樣做,因爲我在兩個平臺上構建了相同的程序,而不是嘗試在另一個平臺上運行構建在一個平臺上的內容。
也許這會有所幫助:Conditional Reference in VS 2010
編輯: 這裏是一個更好的描述:Conditionally use 32/64 bit reference when building in Visual Studio
您不能使用混合裝配具有相同的應用程序。您只能使用相同類型的assassembly x86或x64。
您不能在32位操作系統上運行x64應用程序,但可能在其他地方運行x64應用程序。
告訴您的供應商使用AnyCPU標誌進行編譯,並以編程方式提取所有依賴於平臺的內部呼叫,而不是要求消費者爲他們做。
如果他們不這樣做,你可以使用反射來編寫自己的代理,但我不推薦它。隨着時間的推移維護該組件將是一個痛苦。
這第二EDIT(「我建立了相同的程序在兩個平臺上」)是一個重要的;它使我的開發RAWR時刻無效;) – xcud 2010-11-16 16:00:58
+1:用於查找其中重複的Q. – Richard 2010-11-16 16:03:44